对比一下代码的书写差距:
我的代码:
1 #include<iostream> 2 3 using namespace std; 4 5 int a[6]; 6 int b[6]; 7 int v[3]; //访问标记 8 9 bool judge(int i, int j) 10 { 11 if(a[i]==a[j]&&b[i]==b[j]) 12 return true; 13 return false; 14 } 15 16 bool judge1() 17 { 18 if(a[v[0]]==a[v[1]]) 19 if((b[v[0]]==b[v[2]]&&a[v[2]]==b[v[1]])||(b[v[0]]==a[v[2]]&&b[v[2]]==b[v[1]])) 20 return true; 21 else if(a[v[1]]==a[v[2]]) 22 if((b[v[1]]==b[v[0]]&&a[v[0]]==b[v[2]])||(b[v[1]]==a[v[0]]&&b[v[2]]==b[v[0]])) 23 return true; 24 else if(a[v[0]]==a[v[2]]) 25 if((b[v[1]]==b[v[0]]&&a[v[1]]==b[v[2]])||(b[v[1]]==a[v[0]]&&a[v[1]]==b[v[2]])) 26 return true; 27 else 28 return false; 29 } 30 31 32 int main() 33 { 34 while(scanf("%d%d", &a[0], &b[0]) != EOF) 35 { 36 if(a[0]<b[0]) 37 { 38 int t; 39 t = a[0]; 40 a[0]=b[0]; 41 b[0]=t; 42 } 43 for(int i=1; i<6; i++) 44 { 45 int a0,b0; 46 cin>>a0>>b0; 47 if(a0<b0) 48 { 49 int t = a0; 50 a0 = b0; 51 b0 = t; 52 } 53 a[i]=a0; 54 b[i]=b0; 55 } 56 int k,l,w = 0; 57 int flag = 0; 58 for(k=0; k<6; k++) 59 { 60 for(l=k+1; l<6; l++) 61 { 62 if(judge(k,l)) 63 { 64 v[w]=k; 65 w++; 66 a[l] = b[l] = flag--; 67 } 68 } 69 } 70 if(judge1()) 71 cout<<"POSSIBLE"<<endl; 72 else 73 cout<<"IMPOSSIBLE"<<endl; 74 } 75 return 0; 76 }
别人的代码:
1 #include <cstdio> 2 #include <cstdlib> 3 #include <iostream> 16 using namespace std; 17 struct NODE 18 { 19 int h, w; 20 bool operator < (const NODE& rha) const{ 21 if(h == rha.h) return w < rha.w; 22 return h < rha.h; 23 } 24 }a[10]; 25 bool ok() 26 { 27 if(a[0].h != a[1].h || a[0].w != a[1].w) return false; 28 if(a[2].h != a[3].h || a[2].w != a[3].w) return false; 29 if(a[4].h != a[5].h || a[4].w != a[5].w) return false; 30 if(a[1].h != a[2].h) return false; 31 if(a[1].w != a[4].h) return false; 32 if(a[3].w != a[4].w) return false; 33 return true; 34 } 35 int main() 36 { 37 while(scanf("%d%d", &a[0].h, &a[0].w) != EOF) 38 { 39 if(a[0].h > a[0].w) swap(a[0].h, a[0].w); 40 for(int i = 1; i < 6; ++i) 41 { 42 scanf("%d%d", &a[i].h, &a[i].w); 43 if(a[i].h > a[i].w) swap(a[i].h, a[i].w); 44 } 45 sort(a, a+6); 46 if(ok()) puts("POSSIBLE"); 47 else puts("IMPOSSIBLE"); 48 } 49 return 0; 50 }