列舉暴力求解

2021-07-31 11:36:09 字數 927 閱讀 9912

題目描述

有n個賭徒打算賭一局。規則是:

每人下乙個賭注,賭注為非負整數,且任意兩個賭注都不相同。勝者為賭注恰好是其餘任意三個人的賭注之和的那個人。如果有多個勝者,我們取賭注最大的那個為最終勝者。

例如,a,b,c,d,e分別下賭注為2、3、5、7、12,最終勝者是e,因為12=2+3+7。

輸入輸入包含多組測試資料。每組首先輸入乙個整數n(1<=n<=1000),表示賭徒的個數。

接下來n行每行輸入乙個非負整數b(0<=b<32768),表示每個賭徒下的賭注。

當n=0時,輸入結束。

輸出對於每組輸入,輸出最終勝者的賭注,如果沒有勝者,則輸出no solution。

樣例輸入52 

3 5 

7 1252 

16 64 

256 

1024

0樣例輸出

12no solution

解題思路:

三重迴圈,暴力求解。

#include

#include

using namespace std;

int cmp(int a,int b)

}if(x==1)

break;

}  if(x==1)

break;

}if(x==1)

break;

j--;

}if(x==0)

printf("no solution\n");

}return 0;

}錯誤分析:

當輸入數字小於三個時間,要輸出no solution.

特殊資料:

in:7

1 4 7 9 12 15 19

61 4 7 9 12 15

21 2

out::

1912

no solution

暴力求解 列舉法

0 9全排列 輸入正整數n,按從小到大的順序輸出所有形如abcde fghij n的表示式,其中a j恰好為數字0 9的乙個排列,n為2到79 樣例輸入 62 樣例輸出 79546 01283 62 94736 01528 62剛開始想用堆疊來實現0到9全排列,還有五個for迴圈也可以,但是想到st...

暴力求解法 簡單列舉

在剛剛開始準備學習些演算法之前,網路上很多演算法高階攻略都會建議先從一些簡單的基本演算法著手入門,其中包括 列舉,貪心,遞迴和分治,遞推,構造,模擬 這些,正好這段時間我在看的劉汝佳的 演算法競賽入門經典 這本書中涉及了很多關於基礎的東西,對於演算法的學習和acm的訓練都很有幫助,所以我打算從 藍書...

暴力求解之簡單列舉

題目 輸入正整數n,按照從小到大的順序輸出所有形如abcde fghij n 的表示式,其中a j恰好為數字0 9的乙個排列,2 n 79.樣例輸入 樣例輸出 79546 01283 62 94736 01528 62 題目分析 只需列舉fghij就可以算出abcde,然後判斷所有的數字是否有重複即...