题意:给你六个数字,问有没有三个数字加起来的和等于剩下的三个数字之和。
思路:三重for暴力一发就可以。结果我理解错意思了!!!我看成01背包了。。。英语不好是真不行。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[6];
while(~scanf("%d%d%d%d%d%d", &a[0], &a[1], &a[2], &a[3], &a[4], &a[5]))
{
int sum = a[0] + a[1] + a[2] + a[3] + a[4] + a[5];
bool flag = false;
for(int i = 0; i < 6; i++)
{
for(int j = 0; j < 6; j++)
{
for(int k = 0; k < 6; k++)
{
if(i != j && i != k && j != k)
{
if((a[i] + a[j] + a[k]) * 2 == sum) flag = true;
}
}
}
}
if(flag) printf("YES\n");
else printf("NO\n");
}
return 0;
}