寄,样例都不过
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
using namespace std;
const int N=4e2+10;
int t, n, b, cnt, d[N][N], ans, vis[N], p[N];
int c[N][N];
bool dfs(int x) {
for(int i = 1; i <= n; i ++) {
if(c[x][i] && !vis[i]) {
vis[i] = 1;
if(! p[i] || dfs(p[i])) {
p[i] = x;
return 1;
}
}
}
return 0;
}
void clea() {
ans=0;
memset(p, 0, sizeof(0));
}
int main() {
scanf("%d", &t);
while(t --) {
clea();
scanf("%d", &n);
for(int i = 1; i <= n; i ++)
for(int j = 1; j <= n; j ++) scanf("%d", &c[i][j]);
for(int i = 1; i <= n; i ++) {
memset(vis, 0, sizeof(vis));
if(dfs(i)) ans ++;
}
if(ans == n) puts("Yes");
else puts("No");
}
return 0;
}