第一次模測1 2題解

2021-10-04 03:51:22 字數 1090 閱讀 7891

題意:有乙個圓環由字母表組成首尾相接的環,環上有乙個指標,最初指向字母a。每次可以順時針或者逆時針旋轉一格。例如,a順時針旋轉到z,逆時針旋轉到b。現有乙個字串,問最少需要轉多少次。

思路:乙個字串從乙個字元到另乙個字元,需要考慮的是逆時針還是順時針轉格數最少

**

#include

#include

#include

using

namespace std;

intmain()

cout

}

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

思路:題目中明顯說出咕咕東是個節儉的好孩子,他訓練結束就走了,不允許訓練結束時手裡有券。所以貪心思想,保證每一天的券最少,即ai是偶數時,就採取1方案,ai是奇數時,只採用一次2,剩下的採取1

總結:該題需要理解題目確定如何貪心(區域性貪心->全域性最優)

**

#include

using

namespace std;

int a[

100002];

intmain()

if(a[i]%2

!=0) a[i+1]

--;}if

(a[n+1]

<0)

else cout<<

"yes"

}

第一次訓練題解

poj3372 candy distribution 題目 題意 n個學生圍成一圈,老師給1號學生和2號學生每人一顆糖後,然後跳過乙個學生給4號一顆糖,接著跳過兩個學生給7號一顆糖,以此類推 分析 因為n達到10 9,不能用陣列統計每個學生的狀態,更不能使用暴力,會超時。但可以在一定範圍內,寫個小程...

第一次排位賽題解

a sky數 第一題是典型的進製轉換問題,包括我在內大家最常想到一種 方式就是如下 呼叫函式計算12進製和16進製制的sum值 int sixth int n return sum int twelve int n return sum 要注意到以下三點 b 哥德 來了可能有用吧 首先剛看到這個題目...

第一次飛行

開始敲下這段話時,窗外下面正是一片片陽光照耀著的白雲,伴隨著張學友的歌聲,心潮起伏.雖然從初中起,我就經常乙個人坐著火車,汽車東奔西跑,坐飛機卻是第一次.早上上飛機前,心裡忐忑,必竟還是踏在陸地上踏實.但上了飛機後注意力就放在其它地方上去了,而且,運氣好的是我有乙個靠窗的位置.飛機準備起飛了,助跑加...