UVa 253 Cube paiting

题意:输入两个骰子,判断是否等价

因为每一个面可以作顶面,共6*4种情况,枚举就可以了

  1 #include<iostream>  
  2 #include<cstdio>  
  3 #include<cstring> 
  4 #include <cmath> 
  5 #include<stack>
  6 #include<vector>
  7 #include<map> 
  8 #include<queue> 
  9 #include<algorithm>  
 10 #define mod=1e9+7;
 11 using namespace std;
 12 
 13 typedef long long LL;
 14 char s[15],t[10],a[105][105];
 15 
 16 int main(){
 17     int i,j,n,len;
 18     while(cin>>(s+1)){
 19         memset(a,0,sizeof(a));
 20         
 21         strcpy(t,(s+7));
 22 
 23     //--------1----    
 24         a[1][0]=s[1];
 25         a[1][1]=s[2];
 26         a[1][2]=s[3];
 27         a[1][3]=s[4];
 28         a[1][4]=s[5];
 29         a[1][5]=s[6];
 30         
 31         a[2][0]=s[1];
 32         a[2][1]=s[3];
 33         a[2][2]=s[5];
 34         a[2][3]=s[2];
 35         a[2][4]=s[4];
 36         a[2][5]=s[6];
 37         
 38         a[3][0]=s[1];
 39         a[3][1]=s[5];
 40         a[3][2]=s[4];
 41         a[3][3]=s[3];
 42         a[3][4]=s[2];
 43         a[3][5]=s[6];
 44         
 45         a[4][0]=s[1];
 46         a[4][1]=s[4];
 47         a[4][2]=s[2];
 48         a[4][3]=s[5];
 49         a[4][4]=s[3];
 50         a[4][5]=s[6];
 51         
 52         //----2--------
 53         
 54         a[5][0]=s[2];
 55         a[5][1]=s[6];
 56         a[5][2]=s[3];
 57         a[5][3]=s[4];
 58         a[5][4]=s[1];
 59         a[5][5]=s[5];
 60         
 61         a[6][0]=s[2];
 62         a[6][1]=s[3];
 63         a[6][2]=s[1];
 64         a[6][3]=s[6];
 65         a[6][4]=s[4];
 66         a[6][5]=s[5];
 67         
 68         a[7][0]=s[2];
 69         a[7][1]=s[1];
 70         a[7][2]=s[4];
 71         a[7][3]=s[3];
 72         a[7][4]=s[6];
 73         a[7][5]=s[5];
 74         
 75         a[8][0]=s[2];
 76         a[8][1]=s[4];
 77         a[8][2]=s[6];
 78         a[8][3]=s[1];
 79         a[8][4]=s[3];
 80         a[8][5]=s[5];
 81         
 82     //--------3-------
 83         a[9][0]=s[3];
 84         a[9][1]=s[6];
 85         a[9][2]=s[5];
 86         a[9][3]=s[2];
 87         a[9][4]=s[1];
 88         a[9][5]=s[4];
 89         
 90         a[10][0]=s[3];
 91         a[10][1]=s[5];
 92         a[10][2]=s[1];
 93         a[10][3]=s[6];
 94         a[10][4]=s[2];
 95         a[10][5]=s[4];
 96         
 97         a[11][0]=s[3];
 98         a[11][1]=s[1];
 99         a[11][2]=s[2];
100         a[11][3]=s[5];
101         a[11][4]=s[6];
102         a[11][5]=s[4];
103         
104         a[12][0]=s[3];
105         a[12][1]=s[2];
106         a[12][2]=s[6];
107         a[12][3]=s[1];
108         a[12][4]=s[5];
109         a[12][5]=s[4];
110         
111     //--------4--------
112         a[13][0]=s[4];
113         a[13][1]=s[6];
114         a[13][2]=s[2];
115         a[13][3]=s[5];
116         a[13][4]=s[1];
117         a[13][5]=s[3];
118         
119         a[14][0]=s[4];
120         a[14][1]=s[2];
121         a[14][2]=s[1];
122         a[14][3]=s[6];
123         a[14][4]=s[5];
124         a[14][5]=s[3];
125         
126         a[15][0]=s[4];
127         a[15][1]=s[1];
128         a[15][2]=s[5];
129         a[15][3]=s[2];
130         a[15][4]=s[6];
131         a[15][5]=s[3];
132         
133         a[16][0]=s[4];
134         a[16][1]=s[5];
135         a[16][2]=s[6];
136         a[16][3]=s[1];
137         a[16][4]=s[2];
138         a[16][5]=s[3];
139     //-------5---------
140         a[17][0]=s[5];
141         a[17][1]=s[6];
142         a[17][2]=s[4];
143         a[17][3]=s[3];
144         a[17][4]=s[1];
145         a[17][5]=s[2];
146         
147         a[18][0]=s[5];
148         a[18][1]=s[4];
149         a[18][2]=s[1];
150         a[18][3]=s[6];
151         a[18][4]=s[3];
152         a[18][5]=s[2];
153         
154         a[19][0]=s[5];
155         a[19][1]=s[1];
156         a[19][2]=s[3];
157         a[19][3]=s[4];
158         a[19][4]=s[6];
159         a[19][5]=s[2];
160         
161         a[20][0]=s[5];
162         a[20][1]=s[3];
163         a[20][2]=s[6];
164         a[20][3]=s[1];
165         a[20][4]=s[4];
166         a[20][5]=s[2];
167         
168     //------6---------
169         a[21][0]=s[6];
170         a[21][1]=s[2];
171         a[21][2]=s[4];
172         a[21][3]=s[3];
173         a[21][4]=s[5];
174         a[21][5]=s[1];
175         
176         a[22][0]=s[6];
177         a[22][1]=s[4];
178         a[22][2]=s[5];
179         a[22][3]=s[2];
180         a[22][4]=s[3];
181         a[22][5]=s[1];
182         
183         a[23][0]=s[6];
184         a[23][1]=s[5];
185         a[23][2]=s[3];
186         a[23][3]=s[4];
187         a[23][4]=s[2];
188         a[23][5]=s[1];
189         
190         a[24][0]=s[6];
191         a[24][1]=s[3];
192         a[24][2]=s[2];
193         a[24][3]=s[5];
194         a[24][4]=s[4];
195         a[24][5]=s[1];
196         
197         int flag=0;
198         for(i=1;i<=24;i++){
199             if(strcmp(a[i],t)==0){
200                 printf("TRUE\n");
201                 flag=1;
202                 break;
203             }                
204         }
205         if(!flag)
206         printf("FALSE\n");
207     }
208     return 0;
209 }
View Code

 

 

 

话说应该写一个旋转骰子的函数的吧= =可是不懂写,于是写下了6*4*6=144行代码来旋转骰子= =

如果是让输入是n面体的话,就不能这样了的说,一会儿搜下题解看看别人的旋转怎么写的

 

posted @ 2015-03-19 21:02  sequenceaa  阅读(164)  评论(0编辑  收藏  举报