zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    HashMap 实现原理
    王东江网站
    网站建设
    mysql 查询 执行流程
    两个线程交替打印1到100
    三个线程交替打印十次ABC
    Java动态链接是什么意思
    双亲委派机制
    笔记
    redis集群搭建
  • 原文地址:https://www.cnblogs.com/chaiwentao/p/3938546.html
Copyright © 2011-2022 走看看