ACM-ICPC北京赛区2015 G Mysterious Antiques in Sackler Museum hihoCoder 1255

简单模拟,注意不要漏情况


<span style="font-size:14px;">#include <stdio.h>
#include <iostream>
#include <string.h>
#include <algorithm>
#include <cmath>
using namespace std;
int h[5],hh,w[5],ww,vis[10];
int slove()
{
    int i,j,k;
    for(i=0;i<4;i++)
    {
        for(j=0;j<4;j++)
        {
            if(i==j) continue;
            memset(vis,0,sizeof(vis));
            if(w[i]==w[j])
            {
                ww=w[i];
                hh=h[i]+h[j];
                vis[i]=vis[j]=1;
                for(k=0;k<4;k++)
                {
                    if(vis[k]) continue;
                    if(w[k]==ww || w[k]==hh || h[k]==ww || h[k]==hh)
                        return 1;
                }
            }
            else if(w[i]==h[j])
            {
                ww=w[i];
                hh==h[i]+w[j];
                vis[i]=vis[j]=1;
                for(k=0;k<4;k++)
                {
                    if(vis[k]) continue;
                    if(w[k]==ww || w[k]==hh || h[k]==ww || h[k]==hh)
                        return 1;
                }
            }
            else if(h[i]==h[j])
            {
                hh=h[i];
                ww=w[i]+w[j];
                vis[i]=vis[j]=1;
                for(k=0;k<4;k++)
                {
                    if(vis[k]) continue;
                    if(w[k]==ww || w[k]==hh || h[k]==ww || h[k]==hh)
                        return 1;
                }
            }
        }
    }
    return 0;
}
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        for(int i=0;i<4;i++)
            scanf("%d%d",&w[i],&h[i]);
        if(slove())
            printf("Yes\n");
        else
            printf("No\n");
    }
    return 0;
}</span><span style="font-size:18px;">
</span>


你可能感兴趣的:(ACM-ICPC北京赛区2015 G Mysterious Antiques in Sackler Museum hihoCoder 1255)