HDOJ4751 Divide Groups 模拟
来源:互联网 发布:mac 文件打包命令 编辑:程序博客网 时间:2024/04/30 14:32
倒过来做,把不认识的人分开就OK,直接模拟就行。
#include<iostream>#include<queue>#include<stdio.h>#include<string>#include<string.h>#include<algorithm>#include<vector>using namespace std;vector<int> map[110];vector<int> vep[110];int sss[110][110];int n,used[110];int main(){ int i,j,k; while (scanf("%d",&n)!=EOF) { memset(sss,0,sizeof(sss)); for (i=1;i<=n;i++) { map[i].clear(); vep[i].clear(); } for (i=1;i<=n;i++) { while (scanf("%d",&j)&&j){ map[i].push_back(j); sss[i][j]=1; } for (k=1;k<=n;k++) { int tag=0; for (j=0;j<map[i].size();j++) if (map[i][j]==k) tag=1; if (!tag&&k!=i) vep[i].push_back(k); } } for (i=1;i<=n;i++) { memset(used,0,sizeof(used)); used[i]=1; for (j=0;j<vep[i].size();j++) used[vep[i][j]]=2; for (j=1;j<=n;j++) { if (used[j]==1) {for (k=0;k<vep[j].size();k++) if (used[vep[j][k]]==1) goto A; else used[vep[j][k]]=2;} if (used[j]==2) {for (k=0;k<vep[j].size();k++) if (used[vep[j][k]]==2) goto A; else used[vep[j][k]]=1;} if (used[j]==0) { int tag=1; for (k=0;k<vep[j].size();k++) if (used[vep[j][k]]==2) tag=2; if (tag==2) { used[j]=1; for (k=0;k<vep[j].size();k++) if (used[vep[j][k]]==1) goto A; else used[vep[j][k]]=2; } else { used[j]=2; for (k=0;k<vep[j].size();k++) if (used[vep[j][k]]==2) goto A; else used[vep[j][k]]=1; } } } for (j=1;j<=n;j++) { for (k=1;k<=n;k++) { if (used[k]==used[j]&&sss[j][k]==0&&j!=k) goto A; } } printf("YES\n"); break; A: ; } if (i==n+1) printf("NO\n"); } return 0;}/*52 3 01 3 01 2 4 03 5 03 4 062 3 4 5 6 01 3 4 01 2 4 01 2 3 02 6 04 5 062 3 4 5 6 01 4 01 2 4 01 2 3 02 6 04 5 0*/
- HDOJ4751 Divide Groups 模拟
- Divide Groups
- hdu 4751 Divide Groups(简单模拟题)
- HDU 4751 Divide Groups
- HDU-4751-Divide Groups
- HDU 4751 Divide Groups
- HDU4751 Divide Groups---bfs
- HDU:4751 Divide Groups
- HDOJ 4751 Divide Groups
- HDU-4751 Divide Groups
- HDU4751 Divide Groups
- HDU 4751 Divide Groups
- hdu 4751 Divide Groups
- HDU 4751 Divide Groups
- Divide Groups HDU
- hdu 4751 Divide Groups 染色
- HDU 4751 — Divide Groups
- hdu 4751——Divide Groups
- HDU 1166 - 敌兵布阵(树状数组)
- 解决eclipse无法打开android-support-v4的源码
- 随随便便
- javascript的ajax请求正确写法(兼容多浏览器)
- Lale的使用 留着肯定有用的
- HDOJ4751 Divide Groups 模拟
- 配置OpenCV产生flann\logger.h(66): error C4996: 'fopen': This function or variable may be unsafe问题
- 数据库设计中的14个技巧解决方法
- 进制转换
- 从简单的三角形开始
- 正面有Android手机常用的三枚虚拟按键
- UVA 10006 - Carmichael Numbers(快速幂取模)
- HQL in参数问题
- 提示用户分别输入10个学生的成绩(百分制), 最后输出各个学员序号对应的成绩。