#include <iostream>
using namespace std;
int a[15];
int flag;
int aaa;
int sum;
int V;
int d[100010];
int main()
{
int co = 0;
aaa = 0;
sum = 0;
for(int i = 1; i <= 10; i++)
{
cin >> a[i];
aaa += a[i];
if(a[i] != 0)
sum += a[i] * i;
}
while(aaa > 0)
{
co++;
flag = 1;
if(sum % 2)
flag = 0;
if(flag == 1)
{
for(int i = 1; i <= sum+1; i++)
d[i] = -1 << 30;
d[0] = 0;
V = sum / 2;
for(int i = 1; i <= 10; i++)
for(int j = 1; j<= a[i]; j++)
{
for(int k = V; k >= i; k--)
d[k] = d[k] > d[k-i] + i ? d[k] : d[k-i] + i;
}
if(d[V] > 0)
flag = 1;
else
flag = 0;
}
if(flag == 1)
cout << "#" << co << ":Can be divided.\n";
else
cout << "#" << co << ":Can't be divided.\n";
aaa = 0;
sum = 0;
for(int i = 1; i <= 10; i++)
{
cin >> a[i];
aaa += a[i];
if(a[i] != 0)
sum += a[i] * i;
}
}
}
南陽理工OJ_題目546 Divideing Jewels
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.