首页 > 其他 > 详细

poj1166

时间:2017-01-24 15:36:31      阅读:237      评论:0      收藏:0      [点我收藏+]
 1 #include <iostream>
 2 using namespace std;
 3 
 4 int clock[3][3];
 5 int clo[3][3];
 6 int movel[9][3][3]={1,1,0,1,1,0,0,0,0,
 7                    1,1,1,0,0,0,0,0,0,
 8                    0,1,1,0,1,1,0,0,0,
 9                    1,0,0,1,0,0,1,0,0,
10                    0,1,0,1,1,1,0,1,0,
11                    0,0,1,0,0,1,0,0,1,
12                    0,0,0,1,1,0,1,1,0,
13                    0,0,0,0,0,0,1,1,1,
14                    0,0,0,0,1,1,0,1,1};
15 int num[10]={0};
16 int n=0;
17 int nu[10000];
18 int minn=10000;
19 int minnu[10000];
20 void zhuan(int step);
21 void zhizhen();
22 bool same();
23 int main()
24 {
25     for(int i=0;i<3;i++)
26         for(int j=0;j<3;j++)
27             cin >>clock[i][j];
28     zhuan(0);
29     for(int i=0;i<minn;i++)
30         cout <<minnu[i]<<" ";
31     return 0;
32 }
33 
34 void zhuan(int step)
35 {
36     if(step==9)
37     {
38         n=0;
39         zhizhen();
40         if(same()&&n<minn)
41         {
42             minn=n;
43             for(int i=0;i<minn;i++)
44                 minnu[i]=nu[i];
45         }
46         return;
47     }
48     for(int i=0;i<4;i++)
49     {
50         num[step]=i;
51         zhuan(step+1);
52     }
53 }
54 
55 void zhizhen()
56 {
57     for(int i=0;i<3;i++)
58     {
59         for(int j=0;j<3;j++)
60             clo[i][j]=clock[i][j];
61     }
62     for(int i=0;i<9;i++)
63     {
64         for(int m=0;m<num[i];m++)
65         {
66             nu[n]=i+1;
67             n++;
68             for(int j=0;j<3;j++)
69             {
70                 for(int k=0;k<3;k++)
71                     clo[j][k]=(clo[j][k]+movel[i][j][k])%4;    
72             }        
73         }
74     }
75 }
76 bool same()
77 {
78     bool ret=true;
79     for(int i=0;i<3;i++)
80     {
81         for(int j=0;j<3;j++)
82         {
83             if(clo[i][j]!=0)
84             {
85                 ret=false;
86             }
87         }
88     }
89     return ret;
90 }

 

poj1166

原文:http://www.cnblogs.com/jintg/p/6347141.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!