美国大选到最后阶段,往往都是两个人的角逐,比如上一次的希拉里和川普。大选的规则是只要一个候选人在一个州获胜,那么这个州的所有选票就划归在本州获胜的候选人。从上图可以看出,每个州的选票数量是不一样的,如加利福尼亚州有多达55张选票,最少的州只有3张选票,所有51个选区的总票数是538。
那么问题来了,有没有两个候选人均获得269票打成平局的情况?在数据结构上讲,该问题的复杂度是O(2^51),非常恐怖的计算量,而且经证明该复杂度是无法优化的。
下面给出C++求解代码:
#include<iostream>
using namespace std;
int main(){
int a[51] = { 55, 34, 31, 27, 21, 21, 20, 17, 15, 15, 15, 13, 12, 11, 11, 11, 11, 10, 10, 10, 10, 9, 9, 9, 8, 8, 7, 7, 7, 7, 6, 6, 6, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3 };
int sum_ = 0, _sum = 0;
for (int i = 0; i < 51; i++){
sum_ += a[i];
if (sum_ >= 269){ cout << i << endl; break; }
}
for (int j = 50; j >= 0; j--){
_sum += a[j];
if (_sum >= 269){ cout << j << endl; break; }
}
for (int i_01 = 0; i_01 < 51; i_01++){
int sum = 0;
sum += a[i_01];
for (int i_02 = 0; i_02 < 51; i_02++){
if (i_02 == i_01) continue;
sum += a[i_02];
for (int i_03 = 0; i_03 < 51; i_03++){
if (i_03 == i_02 || i_03 == i_01) continue;
sum += a[i_03];
for (int i_04 = 0; i_04 < 51; i_04++){
if (i_04 == i_03 || i_04 == i_02 || i_04 == i_01) continue;
sum += a[i_04];
for (int i_05 = 0; i_05 < 51; i_05++){
if (i_05 == i_04 || i_05 == i_03 || i_05 == i_02 || i_05 == i_01) continue;
sum += a[i_05];
for (int i_06 = 0; i_06 < 51; i_06++){
if (i_06 == i_05 || i_06 == i_04 || i_06 == i_03 || i_06 == i_02 || i_06 == i_01) continue;
sum += a[i_06];
for (int i_07 = 0; i_07 < 51; i_07++){
if (i_07 == i_06 || i_07 == i_05 || i_07 == i_04 || i_07 == i_03 || i_07 == i_02 || i_07 == i_01) continue;
sum += a[i_07];
for (int i_08 = 0; i_08 < 51; i_08++){
if (i_08 == i_07 || i_08 == i_06 || i_08 == i_05 || i_08 == i_04 || i_08 == i_03 || i_08 == i_02 || i_08 == i_01) continue;
sum += a[i_08];
for (int i_09 = 0; i_09 < 51; i_09++){
if (i_09 == i_08 || i_09 == i_07 || i_09 == i_06 || i_09 == i_05 || i_09 == i_04 || i_09 == i_03 || i_09 == i_02 || i_09 == i_01) continue;
sum += a[i_09];
for (int i_10 = 0; i_10 < 51; i_10++){
if (i_10 == i_09 || i_10 == i_08 || i_10 == i_07 || i_10 == i_06 || i_10 == i_05 || i_10 == i_04 || i_10 == i_03 || i_10 == i_02 || i_10 == i_01) continue;
sum += a[i_10];
for (int i_11 = 0; i_11 < 51; i_11++){
if (i_11 == i_10 || i_11 == i_09 || i_11 == i_08 || i_11 == i_07 || i_11 == i_06 || i_11 == i_05 || i_11 == i_04 || i_11 == i_03 || i_11 == i_02 || i_11 == i_01) continue;
sum += a[i_11];
for (int i_12 = 0; i_12 < 51; i_12++){
if (i_12 == i_11 || i_12 == i_10 || i_12 == i_09 || i_12 == i_08 || i_12 == i_07 || i_12 == i_06 || i_12 == i_05 || i_12 == i_04 || i_12 == i_03 || i_12 == i_02 || i_12 == i_01) continue;
sum += a[i_12];
for (int i_13 = 0; i_13 < 51; i_13++){
if (i_13 == i_12 || i_13 == i_11 || i_13 == i_10 || i_13 == i_09 || i_13 == i_08 || i_13 == i_07 || i_13 == i_06 || i_13 == i_05 || i_13 == i_04 || i_13 == i_03 || i_13 == i_02 || i_13 == i_01) continue;
sum += a[i_13];
for (int i_14 = 0; i_14 < 51; i_14++){
if (i_14 == i_13 || i_14 == i_12 || i_14 == i_11 || i_14 == i_10 || i_14 == i_09 || i_14 == i_08 || i_14 == i_07 || i_14 == i_06 || i_14 == i_05 || i_14 == i_04 || i_14 == i_03 || i_14 == i_02 || i_14 == i_01) continue;
sum += a[i_14];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << endl;
return 0;
}
for (int i_15 = 0; i_15 < 51; i_15++){
if (i_15 == i_14 || i_15 == i_13 || i_15 == i_12 || i_15 == i_11 || i_15 == i_10 || i_15 == i_09 || i_15 == i_08 || i_15 == i_07 || i_15 == i_06 || i_15 == i_05 || i_15 == i_04 || i_15 == i_03 || i_15 == i_02 || i_15 == i_01) continue;
sum += a[i_15];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << endl;
return 0;
}
for (int i_16 = 0; i_16 < 51; i_16++){
if (i_16 == i_15 || i_16 == i_14 || i_16 == i_13 || i_16 == i_12 || i_16 == i_11 || i_16 == i_10 || i_16 == i_09 || i_16 == i_08 || i_16 == i_07 || i_16 == i_06 || i_16 == i_05 || i_16 == i_04 || i_16 == i_03 || i_16 == i_02 || i_16 == i_01) continue;
sum += a[i_16];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << endl;
return 0;
}
for (int i_17 = 0; i_17 < 51; i_17++){
if (i_17 == i_16 || i_17 == i_15 || i_17 == i_14 || i_17 == i_13 || i_17 == i_12 || i_17 == i_11 || i_17 == i_10 || i_17 == i_09 || i_17 == i_08 || i_17 == i_07 || i_17 == i_06 || i_17 == i_05 || i_17 == i_04 || i_17 == i_03 || i_17 == i_02 || i_17 == i_01) continue;
sum += a[i_17];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << ' ' << i_17 << endl;
return 0;
}
for (int i_18 = 0; i_18 < 51; i_18++){
if (i_18 == i_17 || i_18 == i_16 || i_18 == i_15 || i_18 == i_14 || i_18 == i_13 || i_18 == i_12 || i_18 == i_11 || i_18 == i_10 || i_18 == i_09 || i_18 == i_08 || i_18 == i_07 || i_18 == i_06 || i_18 == i_05 || i_18 == i_04 || i_18 == i_03 || i_18 == i_02 || i_18 == i_01) continue;
sum += a[i_18];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << ' ' << i_17 << ' ' << i_18 << endl;
return 0;
}
for (int i_19 = 0; i_19 < 51; i_19++){
if (i_19 == i_18 || i_19 == i_17 || i_19 == i_16 || i_19 == i_15 || i_19 == i_14 || i_19 == i_13 || i_19 == i_12 || i_19 == i_11 || i_19 == i_10 || i_19 == i_09 || i_19 == i_08 || i_19 == i_07 || i_19 == i_06 || i_19 == i_05 || i_19 == i_04 || i_19 == i_03 || i_19 == i_02 || i_19 == i_01) continue;
sum += a[i_19];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << ' ' << i_17 << ' ' << i_18 << ' ' << i_19 << endl;
return 0;
}
for (int i_20 = 0; i_20 < 51; i_20++){
if (i_20 == i_19 || i_20 == i_18 || i_20 == i_17 || i_20 == i_16 || i_20 == i_15 || i_20 == i_14 || i_20 == i_13 || i_20 == i_12 || i_20 == i_11 || i_20 == i_10 || i_20 == i_09 || i_20 == i_08 || i_20 == i_07 || i_20 == i_06 || i_20 == i_05 || i_20 == i_04 || i_20 == i_03 || i_20 == i_02 || i_20 == i_01) continue;
sum += a[i_20];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << ' ' << i_17 << ' ' << i_18 << ' ' << i_19 << ' ' << i_20 << endl;
return 0;
}
for (int i_21 = 0; i_21 < 51; i_21++){
if (i_21 == i_20 || i_21 == i_19 || i_21 == i_18 || i_21 == i_17 || i_21 == i_16 || i_21 == i_15 || i_21 == i_14 || i_21 == i_13 || i_21 == i_12 || i_21 == i_11 || i_21 == i_10 || i_21 == i_09 || i_21 == i_08 || i_21 == i_07 || i_21 == i_06 || i_21 == i_05 || i_21 == i_04 || i_21 == i_03 || i_21 == i_02 || i_21 == i_01) continue;
sum += a[i_21];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << ' ' << i_17 << ' ' << i_18 << ' ' << i_19 << ' ' << i_20 << ' ' << i_21 << endl;
return 0;
}
for (int i_22 = 0; i_22 < 51; i_22++){
if (i_22 == i_21 || i_22 == i_20 || i_22 == i_19 || i_22 == i_18 || i_22 == i_17 || i_22 == i_16 || i_22 == i_15 || i_22 == i_14 || i_22 == i_13 || i_22 == i_12 || i_22 == i_11 || i_22 == i_10 || i_22 == i_09 || i_22 == i_08 || i_22 == i_07 || i_22 == i_06 || i_22 == i_05 || i_22 == i_04 || i_22 == i_03 || i_22 == i_02 || i_22 == i_01) continue;
sum += a[i_22];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << ' ' << i_17 << ' ' << i_18 << ' ' << i_19 << ' ' << i_20 << ' ' << i_21 << ' ' << i_22 << endl;
return 0;
}
for (int i_23 = 0; i_23 < 51; i_23++){
if (i_23 == i_22 || i_23 == i_21 || i_23 == i_20 || i_23 == i_19 || i_23 == i_18 || i_23 == i_17 || i_23 == i_16 || i_23 == i_15 || i_23 == i_14 || i_23 == i_13 || i_23 == i_12 || i_23 == i_11 || i_23 == i_10 || i_23 == i_09 || i_23 == i_08 || i_23 == i_07 || i_23 == i_06 || i_23 == i_05 || i_23 == i_04 || i_23 == i_03 || i_23 == i_02 || i_23 == i_01) continue;
sum += a[i_23];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << ' ' << i_17 << ' ' << i_18 << ' ' << i_19 << ' ' << i_20 << ' ' << i_21 << ' ' << i_22 << ' ' << i_23 << endl;
return 0;
}
for (int i_24 = 0; i_24 < 51; i_24++){
if (i_24 == i_23 || i_24 == i_22 || i_24 == i_21 || i_24 == i_20 || i_24 == i_19 || i_24 == i_18 || i_24 == i_17 || i_24 == i_16 || i_24 == i_15 || i_24 == i_14 || i_24 == i_13 || i_24 == i_12 || i_24 == i_11 || i_24 == i_10 || i_24 == i_09 || i_24 == i_08 || i_24 == i_07 || i_24 == i_06 || i_24 == i_05 || i_24 == i_04 || i_24 == i_03 || i_24 == i_02 || i_24 == i_01) continue;
sum += a[i_24];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << ' ' << i_17 << ' ' << i_18 << ' ' << i_19 << ' ' << i_20 << ' ' << i_21 << ' ' << i_22 << ' ' << i_23 << ' ' << i_24 << endl;
return 0;
}
for (int i_25 = 0; i_25 < 51; i_25++){
if (i_25 == i_24 || i_25 == i_23 || i_25 == i_22 || i_25 == i_21 || i_25 == i_20 || i_25 == i_19 || i_25 == i_18 || i_25 == i_17 || i_25 == i_16 || i_25 == i_15 || i_25 == i_14 || i_25 == i_13 || i_25 == i_12 || i_25 == i_11 || i_25 == i_10 || i_25 == i_09 || i_25 == i_08 || i_25 == i_07 || i_25 == i_06 || i_25 == i_05 || i_25 == i_04 || i_25 == i_03 || i_25 == i_02 || i_25 == i_01) continue;
sum += a[i_25];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << ' ' << i_17 << ' ' << i_18 << ' ' << i_19 << ' ' << i_20 << ' ' << i_21 << ' ' << i_22 << ' ' << i_23 << ' ' << i_24 << ' ' << i_25 << endl;
return 0;
}
for (int i_26 = 0; i_26 < 51; i_26++){
if (i_26 == i_25 || i_26 == i_24 || i_26 == i_23 || i_26 == i_22 || i_26 == i_21 || i_26 == i_20 || i_26 == i_19 || i_26 == i_18 || i_26 == i_17 || i_26 == i_16 || i_26 == i_15 || i_26 == i_14 || i_26 == i_13 || i_26 == i_12 || i_26 == i_11 || i_26 == i_10 || i_26 == i_09 || i_26 == i_08 || i_26 == i_07 || i_26 == i_06 || i_26 == i_05 || i_26 == i_04 || i_26 == i_03 || i_26 == i_02 || i_26 == i_01) continue;
sum += a[i_26];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << ' ' << i_17 << ' ' << i_18 << ' ' << i_19 << ' ' << i_20 << ' ' << i_21 << ' ' << i_22 << ' ' << i_23 << ' ' << i_24 << ' ' << i_25 << ' ' << i_26 << endl;
return 0;
}
for (int i_27 = 0; i_27 < 51; i_27++){
if (i_27 == i_26 || i_27 == i_25 || i_27 == i_24 || i_27 == i_23 || i_27 == i_22 || i_27 == i_21 || i_27 == i_20 || i_27 == i_19 || i_27 == i_18 || i_27 == i_17 || i_27 == i_16 || i_27 == i_15 || i_27 == i_14 || i_27 == i_13 || i_27 == i_12 || i_27 == i_11 || i_27 == i_10 || i_27 == i_09 || i_27 == i_08 || i_27 == i_07 || i_27 == i_06 || i_27 == i_05 || i_27 == i_04 || i_27 == i_03 || i_27 == i_02 || i_27 == i_01) continue;
sum += a[i_27];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << ' ' << i_17 << ' ' << i_18 << ' ' << i_19 << ' ' << i_20 << ' ' << i_21 << ' ' << i_22 << ' ' << i_23 << ' ' << i_24 << ' ' << i_25 << ' ' << i_26 << ' ' << i_27 << endl;
return 0;
}
for (int i_28 = 0; i_28 < 51; i_28++){
if (i_28 == i_27 || i_28 == i_26 || i_28 == i_25 || i_28 == i_24 || i_28 == i_23 || i_28 == i_22 || i_28 == i_21 || i_28 == i_20 || i_28 == i_19 || i_28 == i_18 || i_28 == i_17 || i_28 == i_16 || i_28 == i_15 || i_28 == i_14 || i_28 == i_13 || i_28 == i_12 || i_28 == i_11 || i_28 == i_10 || i_28 == i_09 || i_28 == i_08 || i_28 == i_07 || i_28 == i_06 || i_28 == i_05 || i_28 == i_04 || i_28 == i_03 || i_28 == i_02 || i_28 == i_01) continue;
sum += a[i_28];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << ' ' << i_17 << ' ' << i_18 << ' ' << i_19 << ' ' << i_20 << ' ' << i_21 << ' ' << i_22 << ' ' << i_23 << ' ' << i_24 << ' ' << i_25 << ' ' << i_26 << ' ' << i_27 << ' ' << i_28 << endl;
return 0;
}
for (int i_29 = 0; i_29 < 51; i_29++){
if (i_29 == i_28 || i_29 == i_27 || i_29 == i_26 || i_29 == i_25 || i_29 == i_24 || i_29 == i_23 || i_29 == i_22 || i_29 == i_21 || i_29 == i_20 || i_29 == i_19 || i_29 == i_18 || i_29 == i_17 || i_29 == i_16 || i_29 == i_15 || i_29 == i_14 || i_29 == i_13 || i_29 == i_12 || i_29 == i_11 || i_29 == i_10 || i_29 == i_09 || i_29 == i_08 || i_29 == i_07 || i_29 == i_06 || i_29 == i_05 || i_29 == i_04 || i_29 == i_03 || i_29 == i_02 || i_29 == i_01) continue;
sum += a[i_29];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << ' ' << i_17 << ' ' << i_18 << ' ' << i_19 << ' ' << i_20 << ' ' << i_21 << ' ' << i_22 << ' ' << i_23 << ' ' << i_24 << ' ' << i_25 << ' ' << i_26 << ' ' << i_27 << ' ' << i_28 << ' ' << i_29 << endl;
return 0;
}
for (int i_30 = 0; i_30 < 51; i_30++){
if (i_30 == i_29 || i_30 == i_28 || i_30 == i_27 || i_30 == i_26 || i_30 == i_25 || i_30 == i_24 || i_30 == i_23 || i_30 == i_22 || i_30 == i_21 || i_30 == i_20 || i_30 == i_19 || i_30 == i_18 || i_30 == i_17 || i_30 == i_16 || i_30 == i_15 || i_30 == i_14 || i_30 == i_13 || i_30 == i_12 || i_30 == i_11 || i_30 == i_10 || i_30 == i_09 || i_30 == i_08 || i_30 == i_07 || i_30 == i_06 || i_30 == i_05 || i_30 == i_04 || i_30 == i_03 || i_30 == i_02 || i_30 == i_01) continue;
sum += a[i_30];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << ' ' << i_17 << ' ' << i_18 << ' ' << i_19 << ' ' << i_20 << ' ' << i_21 << ' ' << i_22 << ' ' << i_23 << ' ' << i_24 << ' ' << i_25 << ' ' << i_26 << ' ' << i_27 << ' ' << i_28 << ' ' << i_29 << ' ' << i_30 << endl;
return 0;
}
for (int i_31 = 0; i_31 < 51; i_31++){
if (i_31 == i_30 || i_31 == i_29 || i_31 == i_28 || i_31 == i_27 || i_31 == i_26 || i_31 == i_25 || i_31 == i_24 || i_31 == i_23 || i_31 == i_22 || i_31 == i_21 || i_31 == i_20 || i_31 == i_19 || i_31 == i_18 || i_31 == i_17 || i_31 == i_16 || i_31 == i_15 || i_31 == i_14 || i_31 == i_13 || i_31 == i_12 || i_31 == i_11 || i_31 == i_10 || i_31 == i_09 || i_31 == i_08 || i_31 == i_07 || i_31 == i_06 || i_31 == i_05 || i_31 == i_04 || i_31 == i_03 || i_31 == i_02 || i_31 == i_01) continue;
sum += a[i_31];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << ' ' << i_17 << ' ' << i_18 << ' ' << i_19 << ' ' << i_20 << ' ' << i_21 << ' ' << i_22 << ' ' << i_23 << ' ' << i_24 << ' ' << i_25 << ' ' << i_26 << ' ' << i_27 << ' ' << i_28 << ' ' << i_29 << ' ' << i_30 << ' ' << i_31 << endl;
return 0;
}
for (int i_32 = 0; i_32 < 51; i_32++){
if (i_32 == i_31 || i_32 == i_30 || i_32 == i_29 || i_32 == i_28 || i_32 == i_27 || i_32 == i_26 || i_32 == i_25 || i_32 == i_24 || i_32 == i_23 || i_32 == i_22 || i_32 == i_21 || i_32 == i_20 || i_32 == i_19 || i_32 == i_18 || i_32 == i_17 || i_32 == i_16 || i_32 == i_15 || i_32 == i_14 || i_32 == i_13 || i_32 == i_12 || i_32 == i_11 || i_32 == i_10 || i_32 == i_09 || i_32 == i_08 || i_32 == i_07 || i_32 == i_06 || i_32 == i_05 || i_32 == i_04 || i_32 == i_03 || i_32 == i_02 || i_32 == i_01) continue;
sum += a[i_32];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << ' ' << i_17 << ' ' << i_18 << ' ' << i_19 << ' ' << i_20 << ' ' << i_21 << ' ' << i_22 << ' ' << i_23 << ' ' << i_24 << ' ' << i_25 << ' ' << i_26 << ' ' << i_27 << ' ' << i_28 << ' ' << i_29 << ' ' << i_30 << ' ' << i_31 << ' ' << i_32 << endl;
return 0;
}
for (int i_33 = 0; i_33 < 51; i_33++){
if (i_33 == i_32 || i_33 == i_31 || i_33 == i_30 || i_33 == i_29 || i_33 == i_28 || i_33 == i_27 || i_33 == i_26 || i_33 == i_25 || i_33 == i_24 || i_33 == i_23 || i_33 == i_22 || i_33 == i_21 || i_33 == i_20 || i_33 == i_19 || i_33 == i_18 || i_33 == i_17 || i_33 == i_16 || i_33 == i_15 || i_33 == i_14 || i_33 == i_13 || i_33 == i_12 || i_33 == i_11 || i_33 == i_10 || i_33 == i_09 || i_33 == i_08 || i_33 == i_07 || i_33 == i_06 || i_33 == i_05 || i_33 == i_04 || i_33 == i_03 || i_33 == i_02 || i_33 == i_01) continue;
sum += a[i_33];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << ' ' << i_17 << ' ' << i_18 << ' ' << i_19 << ' ' << i_20 << ' ' << i_21 << ' ' << i_22 << ' ' << i_23 << ' ' << i_24 << ' ' << i_25 << ' ' << i_26 << ' ' << i_27 << ' ' << i_28 << ' ' << i_29 << ' ' << i_30 << ' ' << i_31 << ' ' << i_32 << ' ' << i_33 << endl;
return 0;
}
for (int i_34 = 0; i_34 < 51; i_34++){
if (i_34 == i_33 || i_34 == i_32 || i_34 == i_31 || i_34 == i_30 || i_34 == i_29 || i_34 == i_28 || i_34 == i_27 || i_34 == i_26 || i_34 == i_25 || i_34 == i_24 || i_34 == i_23 || i_34 == i_22 || i_34 == i_21 || i_34 == i_20 || i_34 == i_19 || i_34 == i_18 || i_34 == i_17 || i_34 == i_16 || i_34 == i_15 || i_34 == i_14 || i_34 == i_13 || i_34 == i_12 || i_34 == i_11 || i_34 == i_10 || i_34 == i_09 || i_34 == i_08 || i_34 == i_07 || i_34 == i_06 || i_34 == i_05 || i_34 == i_04 || i_34 == i_03 || i_34 == i_02 || i_34 == i_01) continue;
sum += a[i_34];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << ' ' << i_17 << ' ' << i_18 << ' ' << i_19 << ' ' << i_20 << ' ' << i_21 << ' ' << i_22 << ' ' << i_23 << ' ' << i_24 << ' ' << i_25 << ' ' << i_26 << ' ' << i_27 << ' ' << i_28 << ' ' << i_29 << ' ' << i_30 << ' ' << i_31 << ' ' << i_32 << ' ' << i_33 << ' ' << i_34 << endl;
return 0;
}
for (int i_35 = 0; i_35 < 51; i_35++){
if (i_35 == i_34 || i_35 == i_33 || i_35 == i_32 || i_35 == i_31 || i_35 == i_30 || i_35 == i_29 || i_35 == i_28 || i_35 == i_27 || i_35 == i_26 || i_35 == i_25 || i_35 == i_24 || i_35 == i_23 || i_35 == i_22 || i_35 == i_21 || i_35 == i_20 || i_35 == i_19 || i_35 == i_18 || i_35 == i_17 || i_35 == i_16 || i_35 == i_15 || i_35 == i_14 || i_35 == i_13 || i_35 == i_12 || i_35 == i_11 || i_35 == i_10 || i_35 == i_09 || i_35 == i_08 || i_35 == i_07 || i_35 == i_06 || i_35 == i_05 || i_35 == i_04 || i_35 == i_03 || i_35 == i_02 || i_35 == i_01) continue;
sum += a[i_35];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << ' ' << i_17 << ' ' << i_18 << ' ' << i_19 << ' ' << i_20 << ' ' << i_21 << ' ' << i_22 << ' ' << i_23 << ' ' << i_24 << ' ' << i_25 << ' ' << i_26 << ' ' << i_27 << ' ' << i_28 << ' ' << i_29 << ' ' << i_30 << ' ' << i_31 << ' ' << i_32 << ' ' << i_33 << ' ' << i_34 << ' ' << i_35 << endl;
return 0;
}
for (int i_36 = 0; i_36 < 51; i_36++){
if (i_36 == i_35 || i_36 == i_34 || i_36 == i_33 || i_36 == i_32 || i_36 == i_31 || i_36 == i_30 || i_36 == i_29 || i_36 == i_28 || i_36 == i_27 || i_36 == i_26 || i_36 == i_25 || i_36 == i_24 || i_36 == i_23 || i_36 == i_22 || i_36 == i_21 || i_36 == i_20 || i_36 == i_19 || i_36 == i_18 || i_36 == i_17 || i_36 == i_16 || i_36 == i_15 || i_36 == i_14 || i_36 == i_13 || i_36 == i_12 || i_36 == i_11 || i_36 == i_10 || i_36 == i_09 || i_36 == i_08 || i_36 == i_07 || i_36 == i_06 || i_36 == i_05 || i_36 == i_04 || i_36 == i_03 || i_36 == i_02 || i_36 == i_01) continue;
sum += a[i_36];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << ' ' << i_17 << ' ' << i_18 << ' ' << i_19 << ' ' << i_20 << ' ' << i_21 << ' ' << i_22 << ' ' << i_23 << ' ' << i_24 << ' ' << i_25 << ' ' << i_26 << ' ' << i_27 << ' ' << i_28 << ' ' << i_29 << ' ' << i_30 << ' ' << i_31 << ' ' << i_32 << ' ' << i_33 << ' ' << i_34 << ' ' << i_35 << ' ' << i_36 << endl;
return 0;
}
for (int i_37 = 0; i_37 < 51; i_37++){
if (i_37 == i_36 || i_37 == i_35 || i_37 == i_34 || i_37 == i_33 || i_37 == i_32 || i_37 == i_31 || i_37 == i_30 || i_37 == i_29 || i_37 == i_28 || i_37 == i_27 || i_37 == i_26 || i_37 == i_25 || i_37 == i_24 || i_37 == i_23 || i_37 == i_22 || i_37 == i_21 || i_37 == i_20 || i_37 == i_19 || i_37 == i_18 || i_37 == i_17 || i_37 == i_16 || i_37 == i_15 || i_37 == i_14 || i_37 == i_13 || i_37 == i_12 || i_37 == i_11 || i_37 == i_10 || i_37 == i_09 || i_37 == i_08 || i_37 == i_07 || i_37 == i_06 || i_37 == i_05 || i_37 == i_04 || i_37 == i_03 || i_37 == i_02 || i_37 == i_01) continue;
sum += a[i_37];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << ' ' << i_17 << ' ' << i_18 << ' ' << i_19 << ' ' << i_20 << ' ' << i_21 << ' ' << i_22 << ' ' << i_23 << ' ' << i_24 << ' ' << i_25 << ' ' << i_26 << ' ' << i_27 << ' ' << i_28 << ' ' << i_29 << ' ' << i_30 << ' ' << i_31 << ' ' << i_32 << ' ' << i_33 << ' ' << i_34 << ' ' << i_35 << ' ' << i_36 << ' ' << i_37 << endl;
return 0;
}
for (int i_38 = 0; i_38 < 51; i_38++){
if (i_38 == i_37 || i_38 == i_36 || i_38 == i_35 || i_38 == i_34 || i_38 == i_33 || i_38 == i_32 || i_38 == i_31 || i_38 == i_30 || i_38 == i_29 || i_38 == i_28 || i_38 == i_27 || i_38 == i_26 || i_38 == i_25 || i_38 == i_24 || i_38 == i_23 || i_38 == i_22 || i_38 == i_21 || i_38 == i_20 || i_38 == i_19 || i_38 == i_18 || i_38 == i_17 || i_38 == i_16 || i_38 == i_15 || i_38 == i_14 || i_38 == i_13 || i_38 == i_12 || i_38 == i_11 || i_38 == i_10 || i_38 == i_09 || i_38 == i_08 || i_38 == i_07 || i_38 == i_06 || i_38 == i_05 || i_38 == i_04 || i_38 == i_03 || i_38 == i_02 || i_38 == i_01) continue;
sum += a[i_38];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << ' ' << i_17 << ' ' << i_18 << ' ' << i_19 << ' ' << i_20 << ' ' << i_21 << ' ' << i_22 << ' ' << i_23 << ' ' << i_24 << ' ' << i_25 << ' ' << i_26 << ' ' << i_27 << ' ' << i_28 << ' ' << i_29 << ' ' << i_30 << ' ' << i_31 << ' ' << i_32 << ' ' << i_33 << ' ' << i_34 << ' ' << i_35 << ' ' << i_36 << ' ' << i_37 << ' ' << i_38 << endl;
return 0;
}
for (int i_39 = 0; i_39 < 51; i_39++){
if (i_39 == i_38 || i_39 == i_37 || i_39 == i_36 || i_39 == i_35 || i_39 == i_34 || i_39 == i_33 || i_39 == i_32 || i_39 == i_31 || i_39 == i_30 || i_39 == i_29 || i_39 == i_28 || i_39 == i_27 || i_39 == i_26 || i_39 == i_25 || i_39 == i_24 || i_39 == i_23 || i_39 == i_22 || i_39 == i_21 || i_39 == i_20 || i_39 == i_19 || i_39 == i_18 || i_39 == i_17 || i_39 == i_16 || i_39 == i_15 || i_39 == i_14 || i_39 == i_13 || i_39 == i_12 || i_39 == i_11 || i_39 == i_10 || i_39 == i_09 || i_39 == i_08 || i_39 == i_07 || i_39 == i_06 || i_39 == i_05 || i_39 == i_04 || i_39 == i_03 || i_39 == i_02 || i_39 == i_01) continue;
sum += a[i_39];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << ' ' << i_17 << ' ' << i_18 << ' ' << i_19 << ' ' << i_20 << ' ' << i_21 << ' ' << i_22 << ' ' << i_23 << ' ' << i_24 << ' ' << i_25 << ' ' << i_26 << ' ' << i_27 << ' ' << i_28 << ' ' << i_29 << ' ' << i_30 << ' ' << i_31 << ' ' << i_32 << ' ' << i_33 << ' ' << i_34 << ' ' << i_35 << ' ' << i_36 << ' ' << i_37 << ' ' << i_38 << ' ' << i_39 << endl;
return 0;
}
for (int i_40 = 0; i_40 < 51; i_40++){
if (i_40 == i_39 || i_40 == i_38 || i_40 == i_37 || i_40 == i_36 || i_40 == i_35 || i_40 == i_34 || i_40 == i_33 || i_40 == i_32 || i_40 == i_31 || i_40 == i_30 || i_40 == i_29 || i_40 == i_28 || i_40 == i_27 || i_40 == i_26 || i_40 == i_25 || i_40 == i_24 || i_40 == i_23 || i_40 == i_22 || i_40 == i_21 || i_40 == i_20 || i_40 == i_19 || i_40 == i_18 || i_40 == i_17 || i_40 == i_16 || i_40 == i_15 || i_40 == i_14 || i_40 == i_13 || i_40 == i_12 || i_40 == i_11 || i_40 == i_10 || i_40 == i_09 || i_40 == i_08 || i_40 == i_07 || i_40 == i_06 || i_40 == i_05 || i_40 == i_04 || i_40 == i_03 || i_40 == i_02 || i_40 == i_01) continue;
sum += a[i_40];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << ' ' << i_17 << ' ' << i_18 << ' ' << i_19 << ' ' << i_20 << ' ' << i_21 << ' ' << i_22 << ' ' << i_23 << ' ' << i_24 << ' ' << i_25 << ' ' << i_26 << ' ' << i_27 << ' ' << i_28 << ' ' << i_29 << ' ' << i_30 << ' ' << i_31 << ' ' << i_32 << ' ' << i_33 << ' ' << i_34 << ' ' << i_35 << ' ' << i_36 << ' ' << i_37 << ' ' << i_38 << ' ' << i_39 << ' ' << i_40 << endl;
return 0;
}
for (int i_41 = 0; i_41 < 51; i_41++){
if (i_41 == i_40 || i_41 == i_39 || i_41 == i_38 || i_41 == i_37 || i_41 == i_36 || i_41 == i_35 || i_41 == i_34 || i_41 == i_33 || i_41 == i_32 || i_41 == i_31 || i_41 == i_30 || i_41 == i_29 || i_41 == i_28 || i_41 == i_27 || i_41 == i_26 || i_41 == i_25 || i_41 == i_24 || i_41 == i_23 || i_41 == i_22 || i_41 == i_21 || i_41 == i_20 || i_41 == i_19 || i_41 == i_18 || i_41 == i_17 || i_41 == i_16 || i_41 == i_15 || i_41 == i_14 || i_41 == i_13 || i_41 == i_12 || i_41 == i_11 || i_41 == i_10 || i_41 == i_09 || i_41 == i_08 || i_41 == i_07 || i_41 == i_06 || i_41 == i_05 || i_41 == i_04 || i_41 == i_03 || i_41 == i_02 || i_41 == i_01) continue;
sum += a[i_41];
if (sum == 269) {
cout << "successful:" << ' ' << i_01 << ' ' << i_02 << ' ' << i_03 << ' ' << i_04 << ' ' << i_05 << ' ' << i_06 << ' ' << i_07 << ' ' << i_08 << ' ' << i_09 << ' ' << i_10 << ' ' << i_11 << ' ' << i_12 << ' ' << i_13 << ' ' << i_14 << ' ' << i_15 << ' ' << i_16 << ' ' << i_17 << ' ' << i_18 << ' ' << i_19 << ' ' << i_20 << ' ' << i_21 << ' ' << i_22 << ' ' << i_23 << ' ' << i_24 << ' ' << i_25 << ' ' << i_26 << ' ' << i_27 << ' ' << i_28 << ' ' << i_29 << ' ' << i_30 << ' ' << i_31 << ' ' << i_32 << ' ' << i_33 << ' ' << i_34 << ' ' << i_35 << ' ' << i_36 << ' ' << i_37 << ' ' << i_38 << ' ' << i_39 << ' ' << i_40 << ' ' << i_41 << endl;
return 0;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
return 0;
}
扩展:
上述代码只能求出一种平局的情况(如果存在平局),有没有求出所有平局的情况(存在平局且平局情况大于等于1)?