hoho,終於從speakless手上贏走了所有的糖果,是gardon吃糖果時有個特殊的癖好,就是不喜歡將一樣的糖果放在一起吃,喜歡先吃一種,下一次吃另一種,這樣;可是gardon不知道是否存在一種吃糖果的順序使得他能把所有糖果都吃完?請你寫個程式幫忙計算一下。
input
第一行有乙個整數t,接下來t組資料,每組資料佔2行,第一行是乙個整數n(0please use function scanf
hint
hint
這是一道排列問題,就是將若干種類的糖果按要求排列,相同種類的糖果不能相鄰。這就要考慮插孔法。先考慮數量最多的那一種糖果(假設這種糖果有n個)先間隔排好,留出n-1個空格。剩下的糖果總數大於等於n-1,就可以使得數量最多的那一種糖果不會相鄰,再將剩下的糖果按種類依次插入之前已經排好糖果的空隙中,則可以滿足題目的要求,輸出yes。如果剩下的糖果總數小於n-1,數量最多的那一種糖果一定會出現相鄰的狀況,因此輸出no。(可以手工嘗試一下)
因此,設數量最多的那一種糖果的數量為n,所有糖果總數為a,如果n-1<=a-n,
.
#include
#include
#include
#include
using namespace std;
typedef
unsigned
long
long ll;
const
int mod=
1e9+7;
const
int maxx=
1e6+7;
ll a[maxx]
,sum;
intmain()
sort
(a,a+n);if
(sum-a[n-1]
-1) flag=1;
if(flag)
printf
("no\n");
else
printf
("yes\n");
}return0;
}
hdu 1205吃糖果(插孔)
題目 1146 吃糖果 時間限制 1 sec 記憶體限制 128 mb 提交 4004 解決 1795 提交 狀態 討論版 命題人 admin 題目描述 hoho,終於從speakless手上贏走了所有的糖果,是gardon吃糖果時有個特殊的癖好,就是不喜歡連續兩次吃一樣的糖果,喜歡先吃一顆a種類的...
鴿籠原理 HDU1205吃糖果
problem description hoho,終於從speakless手上贏走了所有的糖果,是gardon吃糖果時有個特殊的癖好,就是不喜歡將一樣的糖果放在一起吃,喜歡先吃一種,下一次吃另一種,這樣 可是gardon不知道是否存在一種吃糖果的順序使得他能把所有糖果都吃完?請你寫個程式幫忙計算一下...
吃糖果 HDU 1205 抽屜原理
hoho,終於從speakless手上贏走了所有的糖果,是gardon吃糖果時有個特殊的癖好,就是不喜歡將一樣的糖果放在一起吃,喜歡先吃一種,下一次吃另一種,這樣 可是gardon不知道是否存在一種吃糖果的順序使得他能把所有糖果都吃完?請你寫個程式幫忙計算一下。第一行有乙個整數t,接下來t組資料,每...