程式設計思維與實踐 Week4 CSP模擬賽

2021-10-03 23:42:27 字數 2541 閱讀 6342

咕咕東是個貪玩的孩子,有一天,他從上古遺跡中得到了乙個神奇的圓環。這個圓環由字母表組成首尾相接的環,環上有乙個指標,最初指向字母a。咕咕東每次可以順時針或者逆時針旋轉一格。例如,a順時針旋轉到z,逆時針旋轉到b。咕咕東手裡有乙個字串,但是他太笨了,所以他來請求你的幫助,問最少需要轉多少次。

對於給定的字串,計算圓環轉出字串所需次數。

只需遍歷字串計算當前的字母順時針和逆時針轉到下乙個字母所需的轉數,取最小值加入ans中。

#include

using

namespace std;

char str[

20005];

intmain()

cout << ans << endl;

return0;

}

咕咕東考試周開始了,考試周一共有n天。他不想考試周這麼累,於是打算每天都吃頓好的。他決定每天都吃生煎,咕咕東每天需要買a

ia_i

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

ia_i

ai​個生煎。

對於咕咕東的兩種買法,如果咕咕東按方案2買兩次,就相當於按方案1分別在兩天買一次,所以無論按方案2買多少次有區別的只有1次。故對於每一天,都先按方案1買,直到剩下1個再按方案2買。咕咕東不能恰好買到的情況有:

在課上做這題時我選擇了另一種做法,不用儲存咕咕東每一天需要的生煎數量,但是考慮起來更加複雜,容易遺漏,耗費了不必要的時間,最後還wa了兩個點tat,但實際上本題資料量小,空間完全夠用,不必要節省那麼點的空間而耗費精力。

#include

int a[

100005];

using

namespace std;

intmain()

for(

int i=

0;i)else

if(a[i]

&& i == n-1)

}if(flag) cout<<

"yes"

"no"

}

眾所周知,瑞神已經達到了cs本科生的天花板,但殊不知天外有天,人外有苟。在浩瀚的宇宙中,存在著一種叫做苟狗的生物,這種生物天生就能達到人類研究生的知識水平,並且天生擅長csp,甚至有全國第一的水平!但最可怕的是,它可以發出宇宙射線!宇宙射線可以摧毀人的智商,進行降智打擊!

宇宙射線會在無限的二維平面上傳播(可以看做乙個二維網格圖),初始方向預設向上。宇宙射線會在發射出一段距離後**,向該方向的左右45°方向**出兩條宇宙射線,同時威力不變!宇宙射線會** n

nn次,每次**後會在**方向前進a

ia_i

ai​個單位長度。

現在瑞神要帶著他的小弟們挑戰苟狗,但是瑞神不想讓自己的智商降到普通本科生zjm

zjmzj

m那麼菜的水平,所以瑞神來請求你幫他計算出共有多少個位置會被"降智打擊"

#include

using

namespace std;

struct node};

int ans =0;

bool flag[

305]

[305]=

;node nodes[

305]

[305][

35]=;

int a[35]

;int n;

void

dfs(

int i, node node)

else

while

(--node.last)

if(i+

1== n)

return

; node.last = a[i+1]

; node temp = node;

if(node.dx ==0)

else

if(node.dy ==0)

else

}int

main()

node node;

node.x =

150, node.y =

150, node.dx =

0, node.dy =

1, node.last = a[0]

;dfs(0

,node)

;for

(int i =

0; i <

305; i++

)for

(int j =

0; j <

305; j++)if

(flag[i]

[j])

ans++

; cout << ans << endl;

return0;

}

程式設計思維與實踐 Week4 CSP模測

b 咕咕東想吃飯 c 可怕的宇宙射線 咕咕東是個貪玩的孩子,有一天,他從上古遺跡中得到了乙個神奇的圓環。這個圓環由字母表組成首尾相接的環,環上有乙個指標,最初指向字母a。咕咕東每次可以順時針或者逆時針旋轉一格。例如,a順時針旋轉到z,逆時針旋轉到b。咕咕東手裡有乙個字串,但是他太笨了,所以他來請求你...

程式設計思維與實踐 Week4 作業

a ddl 的恐懼 zjm 有 n 個作業,每個作業都有自己的 ddl,如果 zjm 沒有在 ddl 前做完這個作業,那麼老師會扣掉這個作業的全部平時分。所以 zjm 想知道如何安排做作業的順序,才能盡可能少扣一點分。請你幫幫他吧!input 輸入包含t個測試用例。輸入的第一行是單個整數t,為測試用...

程式設計思維與實踐 Week4作業

題目 zjm 有 n 個作業,每個作業都有自己的 ddl,如果 zjm 沒有在 ddl 前做完這個作業,那麼老師會扣掉這個作業的全部平時分。所以 zjm 想知道如何安排做作業的順序,才能盡可能少扣一點分。請你幫幫他吧!input 輸入包含t個測試用例。輸入的第一行是單個整數t,為測試用例的數量。每個...