1059: [ZJOI2007]矩阵游戏

来源:互联网 发布:宏业软件怎么用 编辑:程序博客网 时间:2024/06/16 01:07

题目链接

题目大意:给定一个n×n的01矩阵,可以任意交换两行或两列的数字,问是否能调整出一个局面,使得矩阵的主对角线(左上角到右下角的连线)上都是1。

题解:想到把行和列建成二分图了,可是没想好具体怎么搞……膜了一发题解
Orz
黄学长说,同行同列的点交换后还是同行同列,然后求能否找到n个互不同行互不同列的点。

我的收获:二分图

#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int M=205;int T,n,lik[M];bool mp[M][M],vis[M];bool hungary(int x){    for(int i=1;i<=n;i++){        if(!mp[x][i]||vis[i]) continue;        vis[i]=true;        if(!lik[i]||hungary(lik[i])) return lik[i]=x;    }    return false;}void work(){    for(int i=1;i<=n;i++){        memset(vis,0,sizeof(vis));        if(!hungary(i)) {puts("No");return ;}    }    puts("Yes");}void init(){    int x;memset(lik,0,sizeof(lik));    cin>>n;    for(int i=1;i<=n;i++)        for(int j=1;j<=n;j++)            scanf("%d",&x),mp[i][j]=(bool)x;}int main(){    cin>>T;    while(T--)    {        init();        work();    }    return 0;}
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 6岁儿童叛逆期怎么办 孩子高一了厌学怎么办 除上有肥胖纹怎么办 6岁不爱写作业怎么办 初中孩子不爱写作业怎么办 孩子上课走神写作业慢怎么办 孩子作业写得慢怎么办 4岁宝宝不写作业怎么办 小孩作业写得慢怎么办 3岁宝宝不写作业怎么办 小孩不写作业怎么办呀 作业没写完的人怎么办? 孩子不写作业家长该怎么办 做作业做得慢怎么办 高一作业写得慢怎么办 孩子做作业不认真怎么办 孩子不主动做作业怎么办 写作业静不下心怎么办 小孩不写作业怎么办啊 小孩子写作业爱磨蹭怎么办 孩子在学校不写作业怎么办 鳗鱼刺卡在喉咙怎么办 被小鱼刺卡住了怎么办 喉咙上卡了鱼刺怎么办 跟团出去受伤了怎么办 平安易宝冻结了怎么办 车的保险到期没有交怎么办 人保外地险出险怎么办 婚姻经营不下去了怎么办 他不爱我,我该怎么办 没有我你怎么办钢琴版 没有你怎么办严爵歌词 没有羊毛戳针该怎么办 没有我你该怎么办歌词 雌激素低子宫内膜薄怎么办 没有我你怎么办的句子 没有我你怎么办百度云 何润东没有我你怎么办 想你了我该怎么办 没有你日子我该怎么办 没有我你怎么办mp3下载