标签:highlight for i++ else cst bsp zjoi cstring bre

发现了一道类似于水题的水题>_<
自动脑补算法:图论...(雾)
开始码...
W?!!!
调了20+min
回去再看一波题
mdzz Yes(No)打成YES(NO)。。。
然后接着就AC了...
因为可以进行若干次,所以我们可以吧这个图抽象成一个二分图...然后...就呵呵呵了
果然蒟蒻还是要多刷题QAQ
Code:
#include <cmath>
#include <cstring>
#include <cstdio>
#include <iostream>
#include <algorithm>
#define rep(i,l,r) for(int i=l;i<=r;i++)
using namespace std;
int n,m[410][410];
int v[410],y[410];
bool dfs(int x){
rep(i,1,n) if(m[x][i]&&!v[i]){
v[i]=1;
if(!y[i]||dfs(y[i])){
y[i]=x;
return 1;
}
}
return 0;
}
int main(){
int t;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
rep(i,1,n) rep(j,1,n) scanf("%d",&m[i][j]);
rep(i,1,n) y[i]=0;int num=1;
while(num<=n){
rep(i,1,n) v[i]=0;
if(dfs(num)) num++;
else break;
}
if(num<=n) printf("No\n");
else printf("Yes\n");
}
return 0;
}
标签:highlight for i++ else cst bsp zjoi cstring bre
原文地址:http://www.cnblogs.com/Jrzn/p/6910698.html