1433. Diamonds
Memory limit: 64 MB
Input
Output
Sample
input | output |
---|---|
RGRB GRRB |
equal |
Problem Source: The 7th USU Open Personal Contest - February 25, 2006
1 /** 2 Create By yzx - stupidboy 3 */ 4 #include <cstdio> 5 #include <cstring> 6 #include <cstdlib> 7 #include <cmath> 8 #include <deque> 9 #include <vector> 10 #include <queue> 11 #include <iostream> 12 #include <algorithm> 13 #include <map> 14 #include <set> 15 #include <ctime> 16 #include <iomanip> 17 using namespace std; 18 typedef long long LL; 19 typedef double DB; 20 #define For(i, s, t) for(int i = (s); i <= (t); i++) 21 #define Ford(i, s, t) for(int i = (s); i >= (t); i--) 22 #define Rep(i, t) for(int i = (0); i < (t); i++) 23 #define Repn(i, t) for(int i = ((t)-1); i >= (0); i--) 24 #define rep(i, x, t) for(int i = (x); i < (t); i++) 25 #define MIT (2147483647) 26 #define INF (1000000001) 27 #define MLL (1000000000000000001LL) 28 #define sz(x) ((int) (x).size()) 29 #define clr(x, y) memset(x, y, sizeof(x)) 30 #define puf push_front 31 #define pub push_back 32 #define pof pop_front 33 #define pob pop_back 34 #define ft first 35 #define sd second 36 #define mk make_pair 37 inline void SetIO(string Name) 38 { 39 string Input = Name+".in", 40 Output = Name+".out"; 41 freopen(Input.c_str(), "r", stdin), 42 freopen(Output.c_str(), "w", stdout); 43 } 44 45 46 inline int Getint() 47 { 48 int Ret = 0; 49 char Ch = ' '; 50 bool Flag = 0; 51 while(!(Ch >= '0' && Ch <= '9')) 52 { 53 if(Ch == '-') Flag ^= 1; 54 Ch = getchar(); 55 } 56 while(Ch >= '0' && Ch <= '9') 57 { 58 Ret = Ret * 10 + Ch - '0'; 59 Ch = getchar(); 60 } 61 return Flag ? -Ret : Ret; 62 } 63 64 const int N = 12, M = 4; 65 int Face[12][4]={ 66 { 0, 1, 2, 3}, { 0, 2, 3, 1}, { 0, 3, 1, 2}, 67 { 1, 2, 0, 3}, { 1, 0, 3, 2}, { 1, 3, 2, 0}, 68 { 2, 0, 1, 3}, { 2, 1, 3, 0}, { 2, 3, 0, 1}, 69 { 3, 2, 1, 0}, { 3, 1, 0, 2}, { 3, 0, 2, 1} 70 }; 71 struct Node 72 { 73 int Arr[4]; 74 inline void Read() 75 { 76 string Str; 77 cin >> Str; 78 Rep(i, 4) Arr[i] = Str[i]; 79 } 80 } A, B; 81 82 inline void Input() 83 { 84 A.Read(); 85 B.Read(); 86 } 87 88 inline void Solve() 89 { 90 Rep(i, 12) 91 { 92 bool Flag = 0; 93 Rep(j, 4) 94 if(A.Arr[Face[i][j]] != B.Arr[j]) 95 { 96 Flag = 1; 97 break; 98 } 99 if(!Flag) 100 { 101 puts("equal"); 102 return; 103 } 104 } 105 puts("different"); 106 } 107 108 int main() 109 { 110 #ifndef ONLINE_JUDGE 111 SetIO("B"); 112 #endif 113 Input(); 114 Solve(); 115 return 0; 116 }