题目地址: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;
}