首页 > 代码库 > BOX (UVA-1587)
BOX (UVA-1587)
对比一下代码的书写差距:
我的代码:
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 else28 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 else73 cout<<"IMPOSSIBLE"<<endl;74 }75 return 0;76 }
别人的代码:
1 #include <cstdio> 2 #include <cstdlib> 3 #include <iostream> 4 #include <iostream> 5 #include <cstdio> 6 #include <vector> 7 #include <cstring> 8 #include <cctype> 9 #include <algorithm>10 #include <cmath>11 #include <cstdlib>12 #include <queue>13 #include <map>14 #define maxn 100000 + 1015 #define INF 0x7fffffff16 using namespace std;17 struct NODE18 {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 }
BOX (UVA-1587)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。