zoj1008 gnome tetravex 很久之前的dfs
来源:互联网 发布:朵朵淘宝小号批发 编辑:程序博客网 时间:2024/04/28 23:02
嗯,第一次做时想了好久,后来找答案,发现正方形不能旋转。嗯,看错了。
#include<stdio.h>
#include<memory.h>
int array [25][4];
int use[25];
int result[5][5];
bool flag;
int n;
bool can(int x,int y, int i)
{
if(x==0&&y==0)
return true ;
else if (x==0&&y!=0)
{
if(array [result[0][y-1]][1]!=array[i][3])
return false ;
}
else if (y==0&&x!=0)
{
if(array [result[x-1][0]][2]!=array[i][0])
return false ;
}
else
{
if(array [result[x-1][y]][2]!=array[i][0]||
array[result[x][y-1]][1]!=array [i][3])
return false ;
}
return true ;
}
//**********************************************************
void dfs(int k)
{
int x,y,i;
x=k/n;
y=k%n;
if(k==n*n)
{
flag= true;
return;
}
for(i=0;i<n*n;i++){
if(use[i]!=0&&can(x,y,i)){
use[i]--;
result[x][y]=i;
dfs(k+1);
if(flag) return;
use[i]++;
result[x][y]=-1;
}
}
}//***********************************************************
int main()
{
int i,j;
int a0,a1,a2,a3;
int cases=0;
while(scanf( "%d",&n)&&n)
{
cases++;
flag=false;
memset(result,-1, sizeof(result));
memset(use,0, sizeof(use));
for(i=0;i<n*n;i++)
{
scanf( "%d%d%d%d",&a0,&a1,&a2,&a3);
use[i]=1;
array[i][0]=a0;
array[i][1]=a1;
array[i][2]=a2;
array[i][3]=a3;
}
dfs(0);
if(cases>1)
printf( "\n");
if(flag)
printf( "Game %d: Possible\n",cases);
else
printf( "Game %d: Impossible\n",cases);
}}
- zoj1008 gnome tetravex 很久之前的dfs
- ZOJ1008 Gnome Tetravex DFS
- ZOJ1008 Gnome Tetravex(DFS)
- ZOJ1008 Gnome Tetravex(dfs)
- ZOJ1008 Gnome Tetravex
- ZOJ1008 Gnome Tetravex
- zoj1008-gnome tetravex
- zoj1008 Gnome Tetravex
- “Gnome Tetravex游戏, ZOJ1008”的一种解法 (上)
- “Gnome Tetravex游戏, ZOJ1008” 的一种解法(下)
- Gnome Tetravex dfs
- Gnome Tetravex (dfs)
- ZOJ1008-Gnome Tstravex(dfs)
- soj1111 Gnome Tetravex dfs搜索
- zju 1008 Gnome Tetravex dfs
- ZOJ 1008Gnome Tetravex DFS
- ZOJ 2008 Gnome Tetravex 搜索(DFS)
- ZOJ 1008 Gnome Tetravex(DFS)
- C++教程
- Android PowerManager 详解
- map,max_element仿函数的写法
- Codeforces Round #185 (Div. 1) && (Div. 2)
- Android Animation学习笔记
- zoj1008 gnome tetravex 很久之前的dfs
- A Knight's Journey(简单dfs)
- 关于android分辨率兼容(屏幕适配)问题
- Argo源码阅读(六):ArgoDispatcher
- 修改/etc/fstable自动挂载磁盘设备
- jquery的treeview插件 调用样例(动态数据)
- lr-关联
- hdu 1978 How many ways(DP | 记忆化搜索)
- android 屏幕适配问题