Box UVA

来源:互联网 发布:淘宝网店进货 编辑:程序博客网 时间:2024/05/21 18:48

问题描述:结构体,条件判断

03pie’s solution for [UVA-1587]:
题目链接

#include <stdio.h>  #define MAXN 6  struct {      int w, h;      int count;  } a[MAXN];  int acount;  void swap(int n)  {      if(a[n].w > a[n].h) {          int temp = a[n].w;          a[n].w = a[n].h;          a[n].h = temp;      }  }  int checkok()  {      if(a[0].w == a[1].w && a[0].h == a[2].w && a[1].h == a[2].h)          return 1;      else if(a[0].w == a[1].w && a[0].h == a[2].h && a[1].h == a[2].w)          return 1;      else if(a[0].w == a[1].h && a[0].h == a[2].w && a[1].w == a[2].h)          return 1;      else if(a[0].w == a[1].h && a[0].h == a[2].h && a[1].w == a[2].w)          return 1;      else if(a[0].h == a[1].w && a[0].w == a[2].w && a[1].h == a[2].h)          return 1;      else if(a[0].h == a[1].w && a[0].w == a[2].h && a[1].h == a[2].w)          return 1;      else if(a[0].h == a[1].h && a[0].w == a[2].w && a[1].w == a[2].h)          return 1;      else if(a[0].h == a[1].h && a[0].w == a[2].h && a[1].w == a[2].w)          return 1;      else          return 0;  } int main(void)  {      int i, j;      while(scanf("%d%d", &a[0].w, &a[0].h) != EOF) {          a[0].count = 1;          swap(0);         acount = 1;          for(i=1; i<MAXN; i++) {              scanf("%d%d", &a[acount].w, &a[acount].h);              a[acount].count = 1;              swap(acount);              for(j=0; j<acount; j++)                  if(a[j].w == a[acount].w && a[j].h == a[acount].h && a[j].count != 2) {                      a[j].count++;                      acount--;                      break;                  }              acount++;          }          if(acount != 3)              printf("IMPOSSIBLE\n");          else if(checkok())              printf("POSSIBLE\n");          else              printf("IMPOSSIBLE\n");      }     return 0;  }  
0 0
原创粉丝点击