BZOJ 1059 ZJOI2007 矩陣遊戲

2021-07-25 13:48:08 字數 841 閱讀 3475

第一行包含乙個整數t,表示資料的組數。接下來包含t組資料,每組資料第一行為乙個整數n,表示方陣的大

小;接下來n行為乙個n*n的01矩陣(0表示白色,1表示黑色)。

輸出檔案應包含t行。對於每一組資料,如果該關卡有解,輸出一行yes;否則輸出一行no。

0 00 1

0 0 1

0 1 0

1 0 0

noyes

對於100%的資料,n ≤ 200

問題可以轉換為有多少個1不再同一行同一列,於是我們把為1的格仔的i向j連一條邊再跑最大匹配即可。

ps:因為貌似時間不夠了,於是就把以前網路流的板子c了下來。(^__^) 嘻嘻

#include 

#define n 505

#define inf 0x7fffffff

struct note

e[n*10000];

int cnt=1,n,ans,s,t;

int dis[n],last[n],cur[n];

void add(int u,int v,int c)

bool bfs()

}return0;}

int dfs(int x,int maxf)

return ret;

}void dinic()

}int main()

for(int i=1;i<=n;i++)

ans=0;

dinic();

if(ans==n)

printf("yes\n");

else

printf("no\n");

}}

ZJOI2007 BZOJ1059 矩陣遊戲

description 第一行包含乙個整數t,表示資料的組數。接下來包含t組資料,每組資料第一行為乙個整數n,表示方陣的大小 接下來n行為乙個n n的01矩陣 0表示白色,1表示黑色 output 輸出檔案應包含t行。對於每一組資料,如果該關卡有解,輸出一行yes 否則輸出一行no。sample i...

bzoj 1059 ZJOI2007 矩陣遊戲

之前好像做過原題 就是二分匹配,無論怎麼交換只要有任何兩個1都不同行不同列就可以構造出答案,那就匈牙利模板吧 include include include include include includeusing namespace std define ll long long define f...

bzoj1059 ZJOI2007 矩陣遊戲

小q是乙個非常聰明的孩子,除了西洋棋,他還很喜歡玩乙個電腦益智遊戲 矩陣遊戲。矩陣遊戲在乙個n n黑白方陣進行 如同西洋棋一般,只是顏色是隨意的 每次可以對該矩陣進行兩種操作 行交換操作 選擇 矩陣的任意兩行,交換這兩行 即交換對應格仔的顏色 列交換操作 選擇矩陣的任意行列,交換這兩列 即交換 對應...