hdu2218:Don't be angry

来源:互联网 发布:二战战斗机性能数据 编辑:程序博客网 时间:2024/05/17 08:48

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2218

总的说来:

只不过最后是所有蛋糕都加上了一个di(di>=0)

所以有:

a11->a1+b1+b2+b6;

a12->a2+b2+b1+b3;

a13->a3+b3+b2+b4;

a14->a4+b4+b3+b5;

a15->a5+b5+b4+b6;

a16->a6+b6+b5+b1;

a11-a12+a13-a14+a15-a16=0->

(1)a1-a2+a3-a4+a5-a6=b1-b2+b3-b4+b5-b6;

(2)由(1)可得:(a1,a2,a3,a4,a5,a6)<=>(a1-d,a2-d,a3-d,a4-d,a5-d,a6-d)

对(1)式右边:不断进行(2)操作,最后得到:

(a1,a2,a3,a4,a5,a6)<=>(dmin,0,0,0,0,0)||(0,dmin,0,0,0,0)||(0,0,dmin,0,0,0)||

(0,0,0,dmin,0,0)||(0,0,0,0,dmin,0)||(0,0,0,0,0,dmin)

->dmin=0;

->a1-a2+a3-a4+a5-a6=0

->以上是我的推导过程,有不对的,请读者指出。

好了,亮出AC代码:

#include <iostream>using namespace std;int a[6];int main(){    int temp;    int i,n;    cin>>n;    while (n--)    {        for(i=0;i<6;i++)        {            scanf("%d",&a[i]);        }        temp=a[0]-a[1]+a[2]-a[3]+a[4]-a[5];        if (temp==0)        {            printf("YES\n");        }        else            printf("NO\n");    }    return 0;}





0 0
原创粉丝点击