题库练习 [COCI-2008_2009-contest6]#5 NERED
← 上一题 下一题 →

A1176 | [COCI-2008_2009-contest6]#5 NERED

来源COCI
时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

In the nearby kindergarten they recently made up an attractive game of strength and agility that kids love.
The surface for the game is a large flat area divided into N×N squares.
The children lay large spongy cues onto the surface. The sides of the cubes are the same length as the sides of the squares. When a cube is put on the surface, its sides are aligned with some square. A cube may be put on another cube too.
Kids enjoy building forts and hiding them, but they always leave behind a huge mess. Because of this, prior to closing the kindergarten, the teachers rearrange all the cubes so that they occupy a rectangle on the surface, with exactly one cube on every square in the rectangle.
In one moving, a cube is taken off the top of a square to the top of any other square.
Write a program that, given the state of the surface, calculates the smallest number of moves needed to arrange all cubes into a rectangle.

输入格式

The first line contains the integers N and M (1 ≤ N ≤ 100, 1 ≤ M ≤ N2), the dimensions of the surface and the number of cubes currently on the surface.
Each of the following M lines contains two integers R and C (1 ≤ R, C ≤ N), the coordinates of the square that contains the cube.

输出格式

Output the smallest number of moves. A solution will always exist.

输入输出样例

输入 #1
3 2 
1 1 
1 1 
输出 #1
1
输入 #2
4 3 
2 2 
4 4 
1 1
输出 #2
2
输入 #3
5 8 
2 2 
3 2 
4 2 
2 4 
3 4 
4 4 
2 3 
2 3 
输出 #3
3
C++ 编辑器
输入
输出