#include<bits/stdc++.h>
#define N 200+3
using namespace std;
int T,n,ttt,mch;
vector<int>g[N];
int pre[N],vt[N];
bool hung(int cur)
{
if(vt[cur]==ttt)
return 0;
vt[cur]=ttt;
for(auto v : g[cur])
{
if(!pre[v]||hung(pre[v]))
{
pre[v]=cur;
return 1;
}
}
return 0;
}
int main()
{
int i,j;
bool bl;
scanf("%d",&T);
while(T--)
{
for(i=1; i<=N; i++)
g[i].clear();
memset(vt,0,sizeof(vt));
memset(pre,0,sizeof(pre));
scanf("%d",&n);
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
{
//cout<<i<<" "<<j<<"\n";
cin>>bl;
if(bl)
{
g[i].push_back(j);
}
}
}
ttt=mch=0;
for(i=1; i<=n; i++)
{
ttt++;
mch+=hung(i);
}
if(mch==n)
printf("Yes");
else printf("No");
printf("\n");
}
}
为啥不开O2就AC,开了全WA?