浙江工商大學2023年新生賽部分題解(二)

2021-10-12 12:22:38 字數 2593 閱讀 5559

浙江工商大學2023年新生賽部分題解(一)

浙江工商大學2023年新生賽部分題解(三)

【本人的**風格比較特殊,所以所有**只提供了核心部分,不提供標頭檔案、命名空間、main函式的部分,各位只需要參考邏輯即可】

這題是我出的題

這道題的題面完全是從wikipedia上覆制貼上過來的,我給個截圖給大家比對一下

這是題面

這是wikipedia上的內容

(是不是發現了一種全新的出題方式)

這道題當時被評定為倒數第二難的題(也就是除了防ak題中最難的那道題)

後台的資料其實也很簡單,其實都是這個**幫忙生成的,導致其實後台資料挺弱的

回到題面,大致意思是讓你實現乙個brain****語言的編譯器

為了照顧新生,我特意去掉下面幾種特殊的情況:

是不是突然感覺學長對你們還是很好的

然後為了加大一下難度(其實並沒有),增加了一些特殊條件的判斷

這道題最難的地方,我覺得應該是兩點

由於沒有括號的巢狀,我們只需要記錄下上乙個[所在的位置,當我們遇到]的時候,直接轉跳到上乙個儲存的位置即可。因為括號的匹配必定合法

第二個問題,其實最方便的解法就是在輸出錯誤資訊後,使用exit(0);或者return 0;直接結束程式就行

最後實際交的**數量也不多,也算是符合最難的題的預期

void

solve()

if(cnt ==

1000000

)switch

(str[i]

) pos--

;break

;case

'+':

if(data[pos]

==127

) data[pos]++;

break

;case

'-':

if(data[pos]==0

) data[pos]--;

break

;case

'.':if(

(data[pos]

>=

32&& data[pos]

<=

126)

|| data[pos]

==10

)else

case

'[':

miss = data[pos]

? i :-1

;break

;case

']':

i = miss -1;

break;}

cnt++;}

}

這題不是我出的,真的不是我出的,這題是會長出的,錘他就行了

看了很多人的**,其實大家都是能算出來2000這個分界點的,很多都是在一些小細節的地方沒有處理好導致瘋狂的wa

這道題當時在判斷的時候,認為是倒數第二簡單的題

我們先看前兩個艦隊:「護衛艦」(下面簡稱a)和「戰列艦」(下面簡稱b),我覺得能進入這個學校的應該都能理解下面這個原則吧……

當需要的戰鬥力 ≥

50\geq 50

≥50時,選擇b,否則選擇a

這個題面中有乙個很有意思的東西,叫「泰坦」(下面簡稱c)

它能夠使得整個艦隊的戰鬥力翻倍,但是它的耗時也是非常長

我們考慮它的最優花費情況,也就是其他的都選b(畢竟b的價值比最大)。我們定義兩個可能的組合

我們可以列出等式,來比較一下什麼時候前者方案更優,什麼時候後者方案更優

x = 20 \\ y = 10 \end

ans +

= n /

100*50+

(n %

100>=50?

50: n %

100)

; cout << ans << endl;

}這題怎麼說呢

看完後台的**我也不知道吐槽啥吧

為什麼那麼多人喜歡開長度只有99的陣列……

99這個值……實在過於小了一些了吧

開陣列的時候不要太害怕,直接開幾百萬的,只要不上億,問題都不大

我們的題目明確說明了,數字個數有2000

2000

2000

個!資料範圍是1e9

−2e9

1e9-2e9

1e9−2e

9所以有一大堆的re

這道題在所有題中,是第四簡單的題

這道題最簡單的解法,我覺得應該是這樣

void

solve()

for(

int i =

1; i <= n;

++i)if(

!data[i]

)}

浙江工商大學python題庫 浙江工商大學

浙江工商大學 我要認證 登入管理後台 浙江工商大學坐落於風景秀麗的浙江省會城市杭州市,是一所辦學歷史悠久的省屬重點大學。前身是建立於1911年的杭州中等商業學堂,至今已有100多年的辦學歷史,是近代中國最早培養商業專門人才的學校之一。有章乃器 駱耕漠等著名校友。學校先後隸屬於原國家商業部和國內 部 ...

2048 浙江工商大學oj

方法一 include include include intmain b 4 scanf d d d d a 0 a 1 a 2 a 3 k 3 for int j 3 j 0 j memset a,0 sizeof a v 3 if b 2 b 3 else if b 2 b 1 else if...

80 報數問題 浙江工商大學oj

思路 報數的人是第幾個,不是陣列序號 0 1 2 1 2 0 0 2 0 1 2 3 4 5 6 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 0 1 方法一 超時 include intmain 每一位為0表示未被淘汰 sum 0 i 0 k 0 k為報的數字,sum為被淘汰多少人 ...