ZOJ Problem Set - 1008 Gnome Tetravex (TLE)
来源:互联网 发布:软件无线通信 芯片 编辑:程序博客网 时间:2024/05/01 15:22
看来这题不能用简单DFS
#include <iostream>#include <stdio.h>using namespace std;int map[25][5],n,map1[25][5],cot[25];bool flag ,flag1;void Move(int t){ int i,j; if(flag1) return; if(t == n*n) { /*for(i = 0;i < n*n;i ++) { for(j = 0;j< 4;j ++) cout<<map1[i][j]<<" "; cout<<endl; } cout<<endl;*/ for(i = 0;i < n*n;i ++) { if(i < n*(n-1)) { if(i%n < n-1){ if(map1[i][1] != map1[i+1][3]||map1[i][2] != map1[i+n][0]) { flag = 1; return ; } } else { if(map1[i][2]!=map1[i+n][0]) { flag = 1; return ; } } } else { if(i%n < n-1){ if(map1[i][1] != map1[i+1][3]) { flag = 1; return ; } } } } flag1 = 1; return; } for(i = 0;i < n*n;i ++) { if(cot[i] == 0) { //cout<<i<<" "<<t<<endl; for(j = 0;j < 4;j ++) map1[t][j] = map[i][j]; cot[i] = 1; flag = 0; Move(t+1); cot[i] = 0; } }}int main(){ int i,j,cnt = 0; while(scanf("%d",&n)!=EOF&&n) { for(i = 0;i < n*n;i ++) { for(j = 0;j < 4;j ++) { cin>>map[i][j]; } } flag1 = 0; for(i = 0;i < n*n;i ++) cot[i] = 0; Move(0); if(flag1) printf("Game %d: Possible\n\n",++cnt); else printf("Game %d: Impossible\n\n",++cnt); //cout<<endl; } return 0;}
- ZOJ Problem Set - 1008 Gnome Tetravex (TLE)
- ZOJ Problem Set - 1008 Gnome Tetravex
- zoj 1008 Gnome Tetravex
- ZOJ 1008 Gnome Tetravex
- zoj 1008 Gnome Tetravex
- ZOJ 1008Gnome Tetravex
- ZOJ 1008 Gnome Tetravex
- ZOj 1008 Gnome Tetravex
- ZOJ-1008-Gnome Tetravex
- zoj 1008 Gnome Tetravex
- ZOJ-1008 Gnome Tetravex
- ZOJ - 1008 Gnome Tetravex
- ZOJ 1008 Gnome Tetravex
- ZOJ 1008 Gnome Tetravex
- ZOJ 1008 Gnome Tetravex
- ZOJ 1008 Gnome Tetravex
- zoj 1008 Gnome Tetravex
- zoj 1008 Gnome Tetravex
- java开发常用的一些jar
- 为什么你总成为不了架构师?
- 常用的排序方式
- MongoDB与Jackson JSON结合实现接口敏捷开发
- windows下bochs调试环境的创建
- ZOJ Problem Set - 1008 Gnome Tetravex (TLE)
- 在32位系统下使用MongoDB的一点心得
- libgdx之tiledmappacker,texturepacker工具类应用
- Matlab伪彩色图——pcolor命令
- Java中不依赖于第三方库使用OpenSSL生成的RSA公私钥进行数据加解密
- js+flash(as3)实现复制文字内容到剪切板
- 三个范式的理解
- 将TXT中的数据读入数据库
- C# sql数据的导入导出 来自huangshunle的专栏