zoukankan      html  css  js  c++  java
  • UVA1587 UVALive3214 POJ2160 Box

    Regionals 2004 >> Europe - Northeastern

    问题链接:UVA1587 UVALive3214 POJ2160 Box

    问题简述:给出六组整数,问能否构成六面体。

    这个题用C语言做的毫无技术含量,也许用C++来写会好一些。


    AC的C语言程序如下:

    /* UVA1587 UVALive3214 POJ2160 Box */
    
    #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
    ");
            else if(checkok())
                printf("POSSIBLE
    ");
            else
                printf("IMPOSSIBLE
    ");
        }
    
        return 0;
    }


  • 相关阅读:
    vue——项目技术储备
    Framework7—— 混合开发
    CSS——常见的问题
    Vue——常见问题
    Vue——使用 watch 注意项
    Node——微服务架构(二)
    C——基本词汇
    Go——空接口与断言
    Node——PM2
    Vue——组件异步加载与路由懒加载
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7564512.html
Copyright © 2011-2022 走看看