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     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 }

 

你可能感兴趣的:(uva)