码迷,mamicode.com
首页 > 其他好文 > 详细

1008 Gnome Tetravex

时间:2014-10-09 02:33:47      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   os   使用   for   sp   div   

练习使用DPS的题,不知道有无别的做法,思路不复杂。形式是统计并且进行数字配对。

 1 #include <stdio.h>
 2 
 3 int m,n,f,sub[25][4],note[25],ans[25];
 4 
 5 void ini(){
 6     int i,j,top,right,bottom,left;
 7     for(i=0;i<25;i++){
 8         for(j=0;j<4;j++)
 9             sub[i][j]=0;
10         note[i]=0;
11         ans[i]=0;
12     }
13     m=0;
14     f=n*n;
15     for(i=0;i<f;i++){
16         scanf("%d %d %d %d",&top,&right,&bottom,&left);
17            for(j=0;j<m;j++){
18             if(sub[j][0]==top&&sub[j][1]==right&&sub[j][2]==bottom&&sub[j][3]==left){
19                 note[j]++;  
20                 break;
21             }
22         }
23         if(j==m){
24             sub[m][0]=top;
25             sub[m][1]=right;
26             sub[m][2]=bottom;
27             sub[m][3]=left;
28             note[m]=1;
29             m++; 
30         }
31     }
32 } 
33 
34 int DPS(int pos){
35     if(pos==f)
36         return 1;
37     else{
38         int i;
39         for(i=0;i<m;i++){
40             if(note[i]){
41                 if(pos>=n)
42                     if(sub[ans[pos-n]][2]!=sub[i][0])
43                         continue;
44                 if(pos%n!=0)
45                     if(sub[ans[pos-1]][1]!=sub[i][3])
46                         continue;
47                 note[i]--; 
48                 ans[pos]=i;
49                 if(DPS(pos+1))
50                      return 1;
51                 note[i]++;
52             }  
53         } 
54     }
55     return 0;
56 }
57 
58 int main(){
59     int index=1;
60     while(1){
61         scanf("%d",&n);
62         if(!n)
63             break;
64         ini();
65         if(index>1)
66             printf("\n");
67         printf("Game %d: ",index++);
68         if(DPS(0))
69             printf("Possible\n");
70         else
71             printf("Impossible\n");
72     }
73     return 0; 
74 }

 

1008 Gnome Tetravex

标签:style   blog   color   io   os   使用   for   sp   div   

原文地址:http://www.cnblogs.com/ycaxgjd/p/4012142.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!