description
第一行包含乙個整數t,表示資料的組數。接下來包含t組資料,每組資料第一行為乙個整數n,表示方陣的大小;接下來n行為乙個n*n的01矩陣(0表示白色,1表示黑色)。
output
輸出檔案應包含t行。對於每一組資料,如果該關卡有解,輸出一行yes;否則輸出一行no。
sample input
2 2
0 0
0 1
3 0 0 1
0 1 0
1 0 0
sample output
no yes
【資料規模】
對於100%的資料,n ≤ 200
hint
source
看到兩種顏色想二分圖
如果a[i][j]為1,則i向j連邊然後做匹配.能完全匹配就有解否則無解
乙個未匹配的行顯然不能通過交換行來使他匹配
那麼只能交換列了
所以這麼建圖是可以的.
#include
#include
#include
#include
#include
#define maxn 210
#define get (ch>='0'&&ch<='9')
using
namespace
std;
int t,n,top;
int a[maxn][maxn],mat[maxn];
bool vis[maxn];
void in(int &x)
bool dfs(int x)
}return0;}
int main()
if (ans==n) puts("yes");
else
puts("no");
}}
bzoj 1096 ZJOI2007 倉庫建設
time limit 10 sec memory limit 162 mb submit 3607 solved 1582 submit status discuss l公司有n個工廠,由高到底分布在一座山上。如圖所示,工廠1在山頂,工廠n在山腳。由於這座山處於高原內 陸地區 乾燥少雨 l公司一般把...
bzoj 1096 ZJOI2007 倉庫建設
l公司有n個工廠,由高到底分布在一座山上。如圖所示,工廠1在山頂,工廠n在山腳。由於這座山處於高原內陸地區 乾燥少雨 l公司一般把產品直接堆放在露天,以節省費用。突然有一天,l公司的總裁l先生接到氣象部門的 被告知三天之後將有一場暴雨,於是l先生決定緊急在某些工廠建立一些倉庫以免產品被淋壞。由於地形...
bzoj 1059 ZJOI2007 矩陣遊戲
之前好像做過原題 就是二分匹配,無論怎麼交換只要有任何兩個1都不同行不同列就可以構造出答案,那就匈牙利模板吧 include include include include include includeusing namespace std define ll long long define f...