咕咕東想吃飯

2021-10-04 02:46:51 字數 1278 閱讀 2325

咕咕東考試周開始了,考試周一共有n天。他不想考試周這麼累,於是打算每天都吃頓好的。他決定每天都吃生煎,咕咕東每天需要買ai個生煎。但是生煎店為了刺激消費,只有兩種購買方式:①在某一天一次性買兩個生煎。②今天買乙個生煎,同時為明天買乙個生煎,店家會給乙個券,第二天用券來拿。沒有其餘的購買方式,這兩種購買方式可以用無數次,但是咕咕東是個節儉的好孩子,他訓練結束就走了,不允許訓練結束時手裡有券。咕咕東非常有錢,你不需要擔心咕咕東沒錢,但是咕咕東太笨了,他想問你他能否在考試周每天都能恰好買ai個生煎。

輸入輸出格式:

輸入兩行,第一行輸入乙個正整數n(1<=n<=100000),表示考試周的天數。

第二行有n個數,第i個數ai(0<=ai​<=10000)表示第i天咕咕東要買的生煎的數量。

如果可以滿足咕咕東奇怪的要求,輸出"yes",如果不能滿足,輸出「no」。(輸出不帶引號)

樣例輸入1:

4

1 2 1 2

樣例輸出1:

yes

樣例輸入2:

3

1 0 1

樣例輸出2:

no

關鍵點1:

當買乙個生煎,同時為明天買乙個生煎時,店家會給乙個券,這張券第二天不用就會作廢

由此,購買分為兩種情況:

1)手中有券:優先使用券,判斷當天購買的生煎數a%2是否等於0,若等於0則只採用第一種買法即可,否則多出來的乙個生煎要採用第二種買法,會獲得一張券

2)手中無券:直接進行上述a%2的判斷,過程如上

3)當然還有一種情況是當天不購買,直接跳出迴圈,若此時恰好手中有券,這張券也作廢

注意!!最終要保證手中無券才能輸出yes

1.讀懂題目:這張券第二天不用就會作廢

2.弄清楚兩種購買方式如何選擇

#include

using

namespace std;

int n,a,q=0;

//q=0沒有券

intmain()

}else

} n--;}

if(n==

0&&q==

0) cout<<

"yes"

"no"

}

咕咕東想吃飯

咕咕東考試周開始了,考試周一共有n天。他不想考試周這麼累,於是打算每天都吃頓好的。他決定每天都吃生煎,咕咕東每天需要買a ia i ai 個生煎。但是生煎店為了刺激消費,只有兩種購買方式 在某一天一次性買兩個生煎。今天買乙個生煎,同時為明天買乙個生煎,店家會給乙個券,第二天用券來拿。沒有其餘的購買方...

B 咕咕東想吃飯

一共有n天,每天買生煎,每天需要買ai個生煎。但是生煎店為了刺激消費,只有兩種購買方式 在某一天一次性買兩個生煎。今天買乙個生煎,同時為明天買乙個生煎,店家會給乙個券,第二天用券來拿。沒有其餘的購買方式,這兩種購買方式可以用無數次。問能否在n天內每天都能恰好買ai個生煎。第一行輸入乙個正整數n。第二...

B 咕咕東想吃飯(貪心演算法)

咕咕東考試周開始了,考試周一共有n天。他不想考試周這麼累,於是打算每天都吃頓好的。他決定每天都吃生煎,咕咕東每天需要買aia iai 個生煎。但是生煎店為了刺激消費,只有兩種購買方式 在某一天一次性買兩個生煎。今天買乙個生煎,同時為明天買乙個生煎,店家會給乙個券,第二天用券來拿。沒有其餘的購買方式,...