加拿大pc >學生工作 >學生風采 >正文

科創報國 獻禮百年-加拿大pc第二屆計算機文化節系列活動之第六屆團體程序設計大賽成功舉行

       

??????為慶祝建黨100周年,營造加拿大pc良好的計算機文化氛圍,提高學生編程能力,培養學生的團隊合作精神,421日下午,加拿大pc第二屆計算機文化節系列活動-第六屆團體程序設計大賽在訓804805教室成功舉行。

本次比賽使用的平臺為PTA程序設計類實驗輔助教學平臺,比賽時長2個小時,以團隊方式進行比賽,每隊成員3人,要求學生使用CC++JavaPython等編程語言,實現相應題目的編程實現。

賽(sai)(sai)前(qian),學院(yuan)制(zhi)訂了比賽(sai)(sai)詳細方案(an),并在(zai)賽(sai)(sai)前(qian)做好宣傳(chuan)和發動工(gong)作(zuo)。加拿大pc教師(shi)(shi)積極響應,發動學生積極報名參(can)賽(sai)(sai)。教師(shi)(shi)黨(dang)員(yuan)主動擔當,積極參(can)加比賽(sai)(sai)策劃、監考工(gong)作(zuo),在(zai)活動中體現了黨(dang)員(yuan)初心(xin),發揮了黨(dang)員(yuan)先鋒模范(fan)作(zuo)用。

本次大賽獎項設團體獎和優秀個人獎,根據比賽參加團隊數量,設置團隊一等獎、二等獎、三等獎,比例分別為10%20%30%,優秀個人獎10,獎品由海南英立科技大數據服務有限公司贊助提供。

2021年第6屆團體程序設計大賽優秀個人獎名單(10名):

黃江(jiang)勇、譚(tan)程、黃國磊、廖強(qiang)、張曉瞳、

馮昆、肖志剛、符仔健、文國安、劉(liu)友誼

?







附(fu): 比賽題(ti)目(mu)(14道題(ti),滿分200分(fen))

7-1 嫑廢(fei)話上代碼(5分)

Linux 之父(fu) Linus Torvalds 的(de)名言是: “Talk is cheap. Show me the code.”(嫑廢話,上(shang)代碼)。本題就請(qing)你(ni)直接(jie)在屏幕上(shang)輸出(chu)這句話。

輸(shu)入(ru)格(ge)式:

本題(ti)沒有輸(shu)入。

輸出格式:

在一行中輸出(chu)Talk is cheap. Show me the code.

輸入(ru)樣例:

無(wu)

輸出樣例:

Talk is cheap. Show me the code.


7-2 新世界(5分(fen))

這道(dao)超級簡單(dan)的(de)題目沒(mei)有任(ren)何(he)輸入。

你只需要在第一行(xing)中輸出程序員欽定名言“Hello World”,并且在第二行(xing)中輸出更新版的(de)“Hello New World”就(jiu)可以了。



7-3 x的(de)平方賦值(zhi)給(gei)y5分)

假(jia)設x的值為3,計算x的平方并賦值(zhi)給y,分別以“y = x?x”和“x?x = y”的(de)形(xing)式輸出xy的值。

輸入格式:

本題無輸(shu)入

輸出格(ge)式:

按(an)照(zhao)下列格式輸(shu)出代入x=3的結果:

y = x * xx * x = y


7-4 奇偶分(fen)家(10分)

給定(ding)N正整數,請統計(ji)奇數和偶數各有(you)多(duo)少個(ge)?

輸入格式(shi):

輸(shu)入(ru)第一行給出一個正整N1000);第2行(xing)給出N非負整(zheng)數,以空格分隔(ge)。

輸出格式:

在(zai)一行中先后輸出奇數(shu)(shu)的個數(shu)(shu)、偶數(shu)(shu)的個數(shu)(shu)。中間以1個空(kong)格分隔。

輸(shu)入樣例:

9

88 74 101 26 15 0 34 22 77

輸出(chu)樣(yang)例:

3 6

7-5 最佳情侶身(shen)高(gao)差(10分)

專家通過多組情侶研究(jiu)數據(ju)發現,最佳的(de)(de)情侶身(shen)高差遵循著一個(ge)公(gong)式: (女方(fang)的(de)(de)身(shen)高)×1.09 =(男方的(de)(de)身高)。如果符(fu)合,你(ni)倆的(de)(de)身高差不管是牽手、擁抱、接吻(wen),都是最和諧的(de)(de)差度。

下面就請你寫個程序,為任意一位用戶計算他(ta)/她的(de)情(qing)侶的(de)最佳身高(gao)。

輸入(ru)格式:

輸(shu)入(ru)第一行(xing)給出正整(zheng)數N≤10),為(wei)前來查詢(xun)的用(yong)戶數。隨(sui)后N行(xing),每行(xing)按照“性別身高”的(de)格式給出前來查(cha)詢的(de)用(yong)戶的(de)性別和身高,其中“性別”為“F”表示(shi)女性、“M”表示男性;“身高”為區間 [1.0, 3.0] 之間的實數。

輸(shu)出格式(shi):

對每(mei)一個查詢,在一行(xing)中為(wei)該用(yong)戶計算出其情侶的最佳身(shen)高(gao),保(bao)留小數點后2位。

輸入樣例:

2

M 1.75

F 1.8

輸出樣例(li):

1.61

1.96



7-6 查詢(xun)水果價(jia)格(15分(fen))

給定四(si)種水果(guo),分別是蘋果(guo)(apple)、梨(li)(pear)、桔子(zi)(orange)、葡(pu)萄(grape),單價分(fen)別對應(ying)為3.00/公斤、2.50/公斤(jin)、4.10元(yuan)/公(gong)斤(jin)、10.20/公斤。

首(shou)先在(zai)屏幕上顯示以(yi)下菜單:

[1] apple

[2] pear

[3] orange

[4] grape

[0] exit

用戶可以輸入編號1~4查詢對應水果的單價。當連(lian)續查詢次數超過(guo)5次時,程序應自動退出查詢;不到(dao)5次(ci)而用戶輸入0即退(tui)出;輸入其他編號,顯(xian)示價格(ge)為(wei)0

輸入格式(shi):

輸(shu)入在一行中給出用(yong)戶連(lian)續輸(shu)入的若干個編號。

輸出格式(shi):

首(shou)先(xian)在屏(ping)幕上顯示菜單。然后對應(ying)用戶的(de)每個輸入,在一行中(zhong)按(an)格式“price = 價(jia)格”輸出查(cha)詢結果,其(qi)中價(jia)格保留兩位小數。當(dang)用戶連(lian)續查(cha)詢次數超過5次、或主(zhu)動輸入0時(shi),程序結束(shu)。

輸入樣例1:

3 -1 0 2

?


7-7 12-24小時(shi)制(15分)

編寫一個程(cheng)序,要求用(yong)戶輸入24小(xiao)時(shi)制(zhi)的時(shi)間(jian),然后顯示12小時(shi)(shi)制的(de)時(shi)(shi)間。

輸入格式:

輸入在一行中給(gei)出帶(dai)有(you)中間的:符號(半角的冒號)的24小(xiao)時(shi)制的時(shi)間(jian),如(ru)12:34表示1234分。當小時或分鐘數小于10時,均沒有前導的零(ling),如5:6表示(shi)5點零6分(fen)。

提示: scanf的格式字(zi)符(fu)串中加入:,讓scanf來處理(li)這個(ge)冒號。

輸出格式(shi):

在(zai)一行中輸出(chu)這個(ge)時間對應的12小時制(zhi)的時間,數字部分格式與輸(shu)入的相同,然后跟上空格,再(zai)跟上表示上午(wu)的字符串AM或表(biao)示下(xia)午的字符串PM。如5:6 PM表示下午5點零6分。注意,在英文(wen)的習慣中,中午12點被(bei)認(ren)為是下午(wu),所以(yi)24小(xiao)時制的12:00就(jiu)是12小時制的12:0 PM;而0點被認為是(shi)第二天的時間,所(suo)以是(shi)0:0 AM

輸入樣例:

21:11

輸出樣例(li):

9:11 PM



7-8 吃火(huo)鍋(15分)

以上圖片來(lai)自微(wei)信朋友(you)圈: 這種天(tian)氣你有(you)什么破事打電話給我基本沒用。但是如果你說(shuo)“吃火鍋”,那就厲害了,我們的故事就開始了。

本(ben)題要求(qiu)你實(shi)現一(yi)個程序,自動檢查你朋友給你發來的信息里有沒(mei)有chi1 huo3 guo1

輸入格式(shi):

輸入每行給(gei)出一句不超過(guo) 80 字(zi)符(fu)的(de)、以回車結尾的(de)朋友信息,信息為非空字(zi)符(fu)串(chuan),僅包括字(zi)母(mu)、數字(zi)、空格、可(ke)見的(de)半角標點(dian)符(fu)號。當讀到某(mou)一(yi)行只(zhi)有(you)一(yi)個英文句點(dian).時,輸入結束,此行不算在朋友信息里。

輸出格式:

首先在一行(xing)中輸出朋友信息的總條數(shu)。然后對(dui)朋友的每一行(xing)信息,檢查(cha)其(qi)中是否包含(han)chi1 huo3 guo1,并且(qie)統計這樣(yang)厲害(hai)的信息有多少(shao)條。在第二行中首先輸出第一次出現chi1 huo3 guo1的信(xin)息是(shi)第幾條(tiao)(從(cong) 1 開始計數(shu)),然后輸出這類(lei)信息的(de)總(zong)條(tiao)數(shu),其間以一個(ge)空格分隔(ge)。題目(mu)保證輸出的(de)所有數(shu)字(zi)不超過 100

如果朋友(you)從(cong)頭到尾都(dou)沒提chi1 huo3 guo1這(zhe)個關鍵(jian)詞,則在(zai)第二(er)行輸出一個表情(qing)-_-#

輸入樣例 1:

Hello!

are you there?

wanttachi1 huo3 guo1?

that's so li hai le

our story begins from chi1 huo3 guo1 le

.

輸出樣(yang)例 1:

5

3 2

輸入樣例 2:

Hello!

are you there?

wantta qi huo3 guo1 chi1huo3guo1?

that's so li hai le

our story begins from ci1 huo4 guo2 le

.

輸出(chu)樣例(li) 2:

5

-_-#




7-9 平方與倒數序列的(de)部(bu)分和15分)

本(ben)題要求對兩個(ge)正(zheng)整(zheng)數mnmn)編寫程序,計算序列(lie)和(he)m2+1/m+(m+1)2+1/(m+1)+?+n2+1/n

輸入格(ge)式(shi):

輸入在一行中給出(chu)兩(liang)個正整數(shu)mnmn),其間以空格分開。

輸(shu)出格式(shi):

在一行中按照“sum = S”的格式輸(shu)出部分和的值S,精確到小數點后六位。題目保證計算結果不超過雙(shuang)精度范(fan)圍(wei)。

輸入樣例:

5 10

輸(shu)出樣例:

sum = 355.845635




7-10 找出總分最高的學生(15分(fen))

給定(ding)N學(xue)生(sheng)的基本信息(xi),包括(kuo)學(xue)號(由5個數(shu)字(zi)組(zu)成的字(zi)符(fu)串)、姓名(長(chang)度小于10的不包含空白字符的非空字符串)和(he)3門課程的(de)成績([0,100]區間內的整數),要求(qiu)輸出總分最高學(xue)生的姓(xing)名、學(xue)號和總分。

輸入(ru)格式:

輸入在一行(xing)中給出正整數N10)。隨后N行,每(mei)行給出(chu)一位學生的信息,格式為“學號姓(xing)名成(cheng)績1 成績(ji)2 成(cheng)績(ji)3”,中間以空格(ge)分隔。

輸出格式:

在一行中輸出總分最高學生的(de)姓名(ming)、學號(hao)和總分,間(jian)隔一個空(kong)格。題目保證(zheng)這樣的(de)學生是唯一的(de)。

輸(shu)入(ru)樣例:

5

00001 huanglan 78 83 75

00002 wanghai 76 80 77

00003 shenqiang 87 83 76

10001 zhangfeng 92 88 78

21987 zhangmeng 80 82 75

輸出樣例:

zhangfeng 10001 258




7-11 裝箱(xiang)問題(20分(fen))

假設有N項物品,大小分(fen)別(bie)為(wei)s1s2、…、si、…、sN,其中si為滿足1≤si≤100的整數。要(yao)把(ba)這些物品(pin)裝入到容(rong)量為100的一批箱子(序號1-N)中。裝箱方法(fa)是(shi): 對每(mei)項(xiang)物品,順序(xu)掃描箱(xiang)子(zi),把該(gai)物(wu)品放入足以能夠容下它的(de)第一(yi)個箱(xiang)子(zi)中。請(qing)寫一(yi)個程序(xu)模(mo)擬這種裝箱(xiang)過程,并輸出每(mei)個物(wu)品所在的(de)箱(xiang)子(zi)序(xu)號(hao),以及放置全部物(wu)品所需的(de)箱(xiang)子(zi)數目。

輸入格(ge)式(shi):

輸入第(di)一行給出(chu)物(wu)品個數N≤1000);第二行給出(chu)N正整數si1≤si≤100,表(biao)示第i項物品(pin)的大小)。

輸(shu)出格式:

按照(zhao)輸入順序(xu)輸出每個物品(pin)(pin)的大小及其所在的箱子序(xu)號,每個物品(pin)(pin)占1行(xing),最后一行(xing)輸出所(suo)需的(de)箱子(zi)數目。

輸入樣例(li):

8

60 70 80 90 30 40 10 20

輸出樣(yang)例:

60 1

70 2

80 3

90 4

30 1




7-12 海盜(dao)分贓(25分)

P 個(ge)海盜偷了(le) D 顆鉆石后(hou)來到公海分贓(zang),一致(zhi)同意如(ru)下分贓(zang)策略:

首先,P 海(hai)盜通(tong)過抽簽(qian)決定 1 - P 的序號(hao)。然后由第 1 號(hao)海(hai)盜提出一個(ge)(ge)分(fen)配方案(方案應(ying)給出每個(ge)(ge)海(hai)盜分(fen)得(de)的具體數量),如果能夠得(de)到(dao)包括(kuo) 1 號在(zai)內的絕對多數(即(ji)大于半數)同意,則按照(zhao)該分配方案(an)執行,否則 1 號將(jiang)被投入大海喂鯊魚;而后依次類似地由第 2 號、第 3 號等(deng)等(deng)海(hai)盜提出(chu)方(fang)案(an)(an),直到(dao)能夠獲(huo)得絕對多數同意(yi)的方(fang)案(an)(an)出(chu)現為止,或者只剩(sheng)下(xia)最后一(yi)(yi)位海(hai)盜,其獨占所有(you)鉆石。請編寫(xie)一(yi)(yi)個(ge)程序,給出(chu)第1 號海盜(dao)的(de)鉆(zhan)石分配方案中自己分得(de)的(de)鉆(zhan)石數(shu)量。附(fu)帶的(de)三個假定:

“聰明”與“貪婪”假定(ding): 每個海盜總能(neng)夠以本人利益最大化(hua)作為行為準則;

“人性化”假定: 在能夠(gou)取(qu)得盡量多鉆石的情況下(xia),海盜不會故意致同伙(huo)于死地;

“無(wu)偏見”假定: 海(hai)盜之間沒有(you)個人恩怨,分給其他(ta)海(hai)盜鉆石的次序以小序號(hao)優(you)先為原則(ze)。

輸(shu)入格式:

輸入(ru)在一行(xing)中給出 2 正整數(shu) D  P3PD100)。

輸出格式:

輸出(chu)第 1 號海盜的(de)(de)鉆石分配(pei)方(fang)案中自己(ji)分得的(de)(de)鉆石數量。

輸(shu)入樣例:

10 7

輸出(chu)樣例:

6

7-13 最長對(dui)稱子串25分)

對給定的字符串(chuan),本題要求你輸(shu)出最長對(dui)稱(cheng)子串的長度。例如,給定(ding)Is PAT&TAP symmetric?,最長對(dui)稱子(zi)串為(wei)s PAT&TAP s,于是你應(ying)該輸出11

輸入格式:

輸(shu)入在一行中(zhong)給出長度不超過(guo)1000的(de)非空字符串。

輸出格式:

在(zai)一行中輸出最長對稱子(zi)串的長度(du)。

輸入樣例:

Is PAT&TAP symmetric?

輸(shu)出樣(yang)例:

11


7-14 最大(da)子列(lie)和(he)問題(ti)(20分)

給定K整數(shu)組(zu)成(cheng)的序列N1N2, ..., NK },“連(lian)續子列”被定義為NiNi+1, ..., Nj },其中1≤ijK。“最(zui)大(da)子(zi)列和”則被(bei)定義為所有連續子(zi)列元素的和中最(zui)大(da)者。例(li)如給定序列{ -2, 11, -4, 13, -5, -2 },其連續子列{ 11, -4, 13 }有最大(da)的和20。現要求你編(bian)寫程序(xu),計算給定整數序(xu)列(lie)的最大子列(lie)

本題旨在測試各種不(bu)同的算法在各種數據(ju)情況下(xia)的表現。各組測試數據(ju)特點如下(xia):

數(shu)據1: 與(yu)樣例(li)等價,測試基(ji)本正確性(xing);

數據2: 102個隨機(ji)整數(shu);

數據3: 103個隨機(ji)整數;

數據(ju)4: 104個(ge)隨機整(zheng)數;

數據5: 105個隨機整數;

輸入格式:

輸入(ru)第1行給出正整數K (≤100000);第2行(xing)給出K整數,其間以空(kong)格分隔。

輸出(chu)格式(shi):

在一行中輸出最大子(zi)列(lie)。如(ru)果序列中所有整數皆為負數,則輸出0

輸入樣例(li):

6

-2 11 -4 13 -5 -2

輸(shu)出樣(yang)例:

20


聯系我們