//============================================================================
// Name : 1014.cpp
// Author :
// Version :
// Copyright : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================
#include <stdio.h>
#include <algorithm>
#define N 6
int number[N + 1];
bool dfs(int rest, int next) {
if (next == 0) {
return false;
}
for (int i = next; i >= 1; i--) {
if (number[i]) {
int nrest = rest - i;
if (nrest == 0) {
return true;
} else if (nrest > 0) {
number[i]--;
if (dfs(rest - i, i)) {
return true;
}
}
}
}
return false;
}
int main() {
int k = 0;
while (1) {
k++;
int sum = 0;
for (int i = 1; i <= N; i++) {
scanf("%d", &number[i]);
sum += i * number[i];
}
if (sum == 0) {
break;
}
printf("Collection #%d:\n", k);
if (sum % 2 == 0 && dfs(sum / 2, N)) {
puts("Can be divided.\n");
} else {
puts("Can't be divided.\n");
}
}
return 0;
}
poj1014
最新推荐文章于 2018-07-24 17:22:43 发布