ZJOI2007 BZOJ1059 矩陣遊戲

2021-07-05 21:25:50 字數 951 閱讀 6234

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...