ZOJ 2610 Puzzle (YY)
2013-09-09 23:43
239 查看
题意:一个又n^2个小三角形组成的三角形又A,B两块三角形组成,问能否把它们分开
解题思路:平行于三条边移动。
解题代码:
View Code
解题思路:平行于三条边移动。
解题代码:
// File Name: g.c // Author: darkdream // Created Time: 2013年09月09日 星期一 13时45分49秒 #include<stdio.h> #include<string.h> #include<stdlib.h> #include<time.h> #include<math.h> #define LL long long //freopen("/home/plac/problem/input.txt","r",stdin); //freopen("/home/plac/problem/output.txt","w",stdout); int a[200][200]; int n ; int ok1() { for(int i = 1;i <= n;i ++) { int k = 2*i-1; for(int j = 1;j <= k; j ++) if(a[i][j] == 0 && a[i][j-1] == 1) { k = 0 ; return 0; } } return 1; } int ok2() { for(int i = 1;i <= n;i ++) { int k = 2*i-1; for(int j = 1; j <= k; j++) if(a[i][j] == 0 && a[i][j+1] == 1) { return 0; } } return 1; } int ok3() { for(int i = 1;i <= n;i ++) { int k = 2*i-1; for(int j = 1; j <= k; j++) if(a[i][j] == 0 ) { if(j % 2 == 1) { if(a[i][j-1] == 1) return 0 ; } else { if(a[i-1][j-1] == 1) return 0; } } } return 1; } int ok4() { for(int i = 1;i <= n;i ++) { int k = 2*i-1; for(int j = 1; j <= k; j ++) if(a[i][j] == 0 ) { if(j % 2 == 1) { if(a[i+1][j+1] == 1) return 0 ; } else { if(a[i][j+1] == 1) return 0; } } } return 1; } int ok5() { for(int i = 1;i <= n;i ++) { int k = 2*i-1; for(int j = 1; j <= k ; j ++) if(a[i][j] == 0 ) { if(j % 2 == 1) { if(a[i][j+1] == 1) return 0 ; } else { if(a[i-1][j-1] == 1) return 0; } } } return 1; } int ok6() { for(int i = 1;i <= n;i ++) { int k = 2*i-1; for(int j = 1; j <= k; j ++) if(a[i][j] == 0 ) { if(j % 2 == 1) { if(a[i+1][j+1] == 1) return 0 ; } else { if(a[i][j-1] == 1) return 0; } } } return 1; } int main(){ int t = 0 ; while(scanf("%d",&n)!= EOF && n) { int ok = 0 ; memset(a,0,sizeof(a)); t++; for(int i = 1;i <= n;i ++) { int k = 2*i-1; for(int j= 1 ;j <= k; j ++ ) scanf("%1d",&a[i][j]); } if(ok1()||ok2()||ok3()||ok4()||ok5()||ok6()) ok = 1; printf("Puzzle %d\n",t); if(ok) printf("Parts can be separated\n"); else printf("Parts cannot be separated\n"); } return 0 ; }
View Code
相关文章推荐
- ZOJ 2610 Puzzle 模拟
- ZOJ 2610 Puzzle 模拟
- ZOJ - 3804 YY's Minions(模拟)
- zoj 3019 Puzzle(这个算是贪心吧??)
- ZOJ 3019 Puzzle
- zoj 3019 Puzzle
- zoj 3541 The Last Puzzle
- ZOJ 3829 Known Notation(模拟+YY)——The 2014 ACM-ICPC Asia Mudanjiang Regional Cont
- 【数论-莫比乌斯】SPOJ-7001-Visible Lattice Points 、zoj 3435 Ideal Puzzle Bobble
- zoj1602——Multiplication Puzzle
- ZOJ 3804 YY's Minions(模拟)
- BFS ZOJ 3814 Sawtooth Puzzle
- YY's Minions - ZOJ 3804 搜索
- ZOJ 3019 Puzzle【水】
- ZOJ3804_YY's Minions 模拟
- ZOJ 3804 YY's Minions
- 组队赛#1 解题总结 ZOJ 3803 YY's Minions (DFS搜索+模拟)
- ZOJ 3541 - The Last Puzzle(区间dp)
- ZOJ 3541 The Last Puzzle(经典区间dp)
- ZOJ 3541-The Last Puzzle(区间DP)