版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/oytf10001/article/details/88593666
象棋
描述
你有足够多的象棋“车”,在一个n×n的棋盘上你能放多少个“车”呢?注意,所给棋盘上有些位置不能放任何东西。同时,某一行(列)最多只能存在一个“车”。
输入
第一行为一个正整数n。
接下来n行,每行包含n个整数,若为0表示这个位置不能放“车”;若为1表示这个位置可以放“车”。
输出
输出一个整数,表示最多能放多少个“车”。
样例1输入
5
1 0 0 0 0
0 0 0 0 0
0 0 0 1 0
1 1 0 1 0
0 0 0 1 0
样例1输出
3
样例1解释
我们这样放就只能放2个“车”:
车 0 0 0 0
0 0 0 0 0
0 0 0 1 0
1 1 0 车 0
0 0 0 1 0
若我们这样放就能放下3个了:
车 0 0 0 0
0 0 0 0 0
0 0 0 1 0
1 车 0 1 0
0 0 0 车 0
样例2
请查看下发文件内的sample2_input.txt和sample2_output.txt。
限制
对于30%的数据,n ≤ 5;
对于60%的数据,n ≤ 20;
对于100%的数据,n ≤ 500。
时间:2 sec
空间:256 MB
提示
[将横坐标和纵坐标看做是二分图的X集和Y集,会了吗?]
另外,为了帮助大家完成题目,我们提供了只包含了输入输出功能的程序模板,也提供了含有算法的大部分实现细节的程序。
你可以根据自己的实际情况,在这些程序的基础上进行作答,或不参考这些程序,这将与你的得分无关。
这些程序可以从【这里】下载。