1.百度語(yǔ)言翻譯機(jī)
百度的工程師們是非常注重效率的,在長(zhǎng)期的開(kāi)發(fā)與測(cè)試過(guò)程中,他們逐漸創(chuàng)造了一套獨(dú)特的縮略語(yǔ)。他們?cè)谄綍r(shí)的交談、會(huì)議,甚至在各種技術(shù)文檔中都會(huì)大量運(yùn)用。
為了讓新員工可以更快地適應(yīng)百度的文化,更好地閱讀公司的技術(shù)文檔,人力資源部決定開(kāi)發(fā)一套專(zhuān)用的翻譯系統(tǒng),把相關(guān)文檔中的縮略語(yǔ)和專(zhuān)有名詞翻譯成日常語(yǔ)言。
輸入要求:
輸入數(shù)據(jù)包含三部分:
1. 第一行包含一個(gè)整數(shù)N(N<=10000),表示總共有多少個(gè)縮略語(yǔ)的詞條;
2. 緊接著有N行的輸入,每行包含兩個(gè)字符串,以空格隔開(kāi)。第一個(gè)字符串為縮略語(yǔ)(僅包含大寫(xiě)英文字符,長(zhǎng)度不超過(guò)10字節(jié)),第二個(gè)字符串為日常語(yǔ)言(不包含空格,長(zhǎng)度不超過(guò)255字節(jié));
3. 從第N+2開(kāi)始到輸入結(jié)束為包含縮略語(yǔ)的相關(guān)文檔(總長(zhǎng)度不超過(guò)1000000個(gè)字節(jié))。例:
6
PS 門(mén)戶(hù)搜索部
NLP 自然語(yǔ)言處理
PM 產(chǎn)品市場(chǎng)部
HR 人力資源部
PMD 產(chǎn)品推廣部
MD 市場(chǎng)發(fā)展部
百度的部門(mén)包括PS,PM,HR,PMD,MD等等,其中PS還包括NLP小組。
樣例:in.txt
輸出要求:
輸出將縮略語(yǔ)轉(zhuǎn)換成日常語(yǔ)言后的文檔。(將縮略語(yǔ)轉(zhuǎn)換成日常語(yǔ)言,其他字符保留原樣)。例:
百度的部門(mén)包括門(mén)戶(hù)搜索部,產(chǎn)品市場(chǎng)部,人力資源部,產(chǎn)品推廣部,市場(chǎng)發(fā)展部等等,其中門(mén)戶(hù)搜索部還包括自然語(yǔ)言處理小組。
樣例:out.txt
2.飯團(tuán)的煩惱
“午餐飯團(tuán)”是百度內(nèi)部參與人數(shù)最多的民間組織。
同一個(gè)部門(mén)的、同一所大學(xué)的、同一年出生的、使用同一種型號(hào)電腦的員工們總是以各種理由組織各種長(zhǎng)期的、臨時(shí)的飯團(tuán)。
參加飯團(tuán),不僅可以以?xún)?yōu)惠的價(jià)格嘗到更加豐富的菜式,還可以在吃飯的時(shí)候和同事們?cè)鲞M(jìn)感情。
但是,隨著百度的員工越來(lái)越多,各個(gè)飯團(tuán)的管理變得繁雜起來(lái)。特別是為了照顧員工們?cè)絹?lái)越挑剔的胃,飯團(tuán)的點(diǎn)菜負(fù)責(zé)人的壓力也越來(lái)越大。現(xiàn)在,這個(gè)任務(wù)就交給“百度之星”了,因?yàn)椋銓⒁獮樗械陌俣蕊垐F(tuán)設(shè)計(jì)一個(gè)自動(dòng)點(diǎn)菜的算法。
飯團(tuán)點(diǎn)菜的需求如下:
1.經(jīng)濟(jì)是我們要考慮的一個(gè)因素,既要充分利用百度員工的午餐補(bǔ)助,又不能鋪張浪費(fèi)。因此,我們希望最后的人均費(fèi)用越接近12元越好。
2.菜式豐富是我們要考慮的另一個(gè)因素。為簡(jiǎn)單起見(jiàn),我們將各種菜肴的屬性歸結(jié)為葷菜,素菜,辛辣,清淡,并且每個(gè)菜只能點(diǎn)一次。
3.請(qǐng)謹(jǐn)記,百度飯團(tuán)在各大餐館享受8折優(yōu)惠。
輸入要求:
1.輸入數(shù)據(jù)第一行包含三個(gè)整數(shù)N,M,K(0<N<=16,0<M<=N,0<K<=12),分別表示菜單上菜的數(shù)目,飯團(tuán)需要點(diǎn)的菜的數(shù)目,就餐的人數(shù);
2.緊接著N行,每行的格式如下:
菜名(長(zhǎng)度不超過(guò)20個(gè)字符) 價(jià)格(原價(jià),整數(shù)) 是否葷菜(1表示是,0表示否) 是否辛辣(1表示是,0表示否);
3.第N+2行是 a b c d 四個(gè)整數(shù),分別表示需要點(diǎn)的葷菜,素菜,辛辣,清淡菜的數(shù)目。例:
3 2 2
水煮魚(yú) 30 1 1
口水雞 18 1 1
清燉豆腐 12 0 0
1 1 1 1
樣例:in.txt
輸出要求:
對(duì)于每組測(cè)試數(shù)據(jù),輸出數(shù)據(jù)包含M+1行,前M行每行包含一個(gè)菜名(按菜名在原菜單的順序排序)。第M+1行是人均消費(fèi),結(jié)果保留兩位小數(shù)。例:
口水雞
清燉豆腐
12.00
樣例:out.txt
3.變態(tài)比賽規(guī)則
為了促進(jìn)各部門(mén)員工的交流,百度舉辦了一場(chǎng)全公司范圍內(nèi)的“拳皇”(百度內(nèi)部最流行的格斗游戲)友誼賽,負(fù)責(zé)組織這場(chǎng)比賽的是百度的超級(jí)“拳皇”迷W.Z。W.Z不想用傳統(tǒng)的淘汰賽或者循環(huán)賽的方式,而是自己制定了一個(gè)比賽規(guī)則。
由于一些員工(比如同部門(mén)或者相鄰部門(mén)員工)平時(shí)接觸的機(jī)會(huì)比較多,為了促進(jìn)不同部門(mén)之間的交流,W.Z希望員工自由分組。不同組之間的每?jī)蓚€(gè)人都會(huì)進(jìn)行一場(chǎng)友誼賽而同一組內(nèi)的人之間不會(huì)打任何比賽。
比如4個(gè)人,編號(hào)為1~4,如果分為兩個(gè)組并且1,2一個(gè)組,3,4一個(gè)組,那么一共需要打四場(chǎng)比賽:1 vs 3,1 vs 4,2 vs 3,2 vs 4。 而如果是1,2,3一組,4單獨(dú)一組,那么一共需要打三場(chǎng)比賽: 1 vs 4,2 vs 4,3 vs 4。
很快W.Z意識(shí)到,這樣的比賽規(guī)則可能會(huì)讓比賽的場(chǎng)數(shù)非常多。W.Z想知道如果有N個(gè)人,通過(guò)上面這種比賽規(guī)則,總比賽場(chǎng)數(shù)有可能為K場(chǎng)嗎?比如3個(gè)人,如果只分到一組則不需要比賽,如果分到兩組則需要2場(chǎng)比賽,如果分為三組則需要3場(chǎng)比賽。但是無(wú)論怎么分都不可能恰需要1場(chǎng)比賽。
相信作為編程高手的你一定知道該怎么回答這個(gè)問(wèn)題了吧? 那么現(xiàn)在請(qǐng)你幫助W.Z吧。
輸入要求:
每行為一組數(shù)據(jù),包含兩個(gè)數(shù)字 N, K(0<N<=500, K>=0)。例:
2 0
2 1
3 1
3 2
樣例:in.txt
輸出要求:
對(duì)輸入的N,K 如果N個(gè)員工通過(guò)一定的分組方式可以使比賽場(chǎng)數(shù)恰好為K,則輸出"YES",否則輸出"NO"(請(qǐng)全部使用大寫(xiě)字母),每組數(shù)據(jù)占一行。例:
YES
YES
NO
YES
樣例:out.txt
4.蟈蟈計(jì)分
蟈蟈小朋友剛剛學(xué)會(huì)了0~9這十個(gè)數(shù)字,也跟爸爸媽媽來(lái)參加百度每周進(jìn)行的羽毛球活動(dòng)。但是他還沒(méi)有球拍高,于是大人們叫他記錄分?jǐn)?shù)。聰明的蟈蟈發(fā)現(xiàn)只要記錄連續(xù)得分的情況就可以了,比如用“3 2 4”可以表示一方在這一局中連得三分后,輸了兩分,接著又連得到四分。可是,后來(lái)大人們發(fā)現(xiàn)蟈蟈只會(huì)用0~9這十個(gè)數(shù)字,所以當(dāng)比賽選手得分超過(guò)9的時(shí)候,他會(huì)用一個(gè)X來(lái)表示10完成記分。但問(wèn)題是,當(dāng)記錄為“X 3 5”的時(shí)候,蟈蟈自己也記不起來(lái)是一方連續(xù)得到十三分后,再輸五分;還是先贏十分輸三分再贏五分。
因?yàn)榘俣葍?nèi)部就要開(kāi)始進(jìn)行羽毛球聯(lián)賽了,要先摸清大家的實(shí)力才好分組比賽呢~于是,大人們想知道以前每局的比分是怎樣的,以及誰(shuí)獲得了勝利。要是遇到了根據(jù)比賽記錄無(wú)法確認(rèn)比賽過(guò)程的情況,也要輸出相應(yīng)的提示哦。
需要進(jìn)一步說(shuō)明的是,比賽是五局三勝的,每局先獲得二十一分的為勝,但是勝方必須領(lǐng)先對(duì)手兩分或以上,否則必須繼續(xù)比賽直到一方超出對(duì)手兩分為止,比分多的一方獲勝。任何一方先獲勝三局后就獲得最終勝利,比賽也相應(yīng)的結(jié)束。而且蟈蟈保證是完整的無(wú)多余信息的記錄了比賽。
輸入要求:
1.文件中第一行只有一個(gè)整數(shù)M,表示蟈蟈記錄了多少場(chǎng)比賽的分?jǐn)?shù);
2.在接下來(lái)的2M行里,每場(chǎng)比賽用兩行記錄,第一行是一個(gè)整數(shù)N(N<=1000)表示當(dāng)前這個(gè)記錄中有多少個(gè)字符,第二行就是具體的N個(gè)字符表示記錄的分?jǐn)?shù)(相鄰字符用空格隔開(kāi))。例:
3
23
9 7 3 6 2 4 7 8 3 2 7 9 X 2 2 1 2 1 X 1 X 1 1
25
9 3 8 5 4 8 3 9 8 4 X X X X 2 X X X X 2 8 4 9 2 4
43
7 7 7 7 7 3 4 5 6 7 6 5 4 2 1 3 5 7 9 7 5 3 1 3 0 9 9 3 9 3 2 1 1 1 5 1 5 1 5 1 5 5 1
樣例:in.txt
輸出要求:
對(duì)應(yīng)每一個(gè)分?jǐn)?shù)記錄,輸出相應(yīng)的每局分?jǐn)?shù),每局分?jǐn)?shù)都使用兩個(gè)整數(shù)表示,表示兩個(gè)選手的得分,中間用":"分隔開(kāi);每組分?jǐn)?shù)記錄間使用一個(gè)空行分隔開(kāi)。如果相應(yīng)的比賽結(jié)果無(wú)法預(yù)測(cè),以“UNKNOWN”一個(gè)單詞獨(dú)占一行表示(請(qǐng)全部使用大寫(xiě)字母)。例:
21:17
24:22
21:3
UNKNOWN
21:14
20:22
21:23
21:16
21:9
樣例:out.txt
5.座位調(diào)整
百度辦公區(qū)里到處擺放著各種各樣的零食。百度人力資源部的調(diào)研發(fā)現(xiàn),員工如果可以在自己喜歡的美食旁邊工作,效率會(huì)大大提高。因此,百度決定進(jìn)行一次員工座位的大調(diào)整。
調(diào)整的方法如下:
1.首先將辦公區(qū)按照各種零食的擺放分成N個(gè)不同的區(qū)域(例如:可樂(lè)區(qū),餅干區(qū),牛奶區(qū)等等);
2.每個(gè)員工對(duì)不同的零食區(qū)域有不同的喜好程度(喜好程度是1~100的整數(shù), 喜好程度越大表示該員工越希望被調(diào)整到相應(yīng)的零食區(qū)域);
3.由于每個(gè)零食區(qū)域可以容納的員工數(shù)量有限,人力資源部希望找到一個(gè)最優(yōu)的調(diào)整方案使得總的喜好程度最大。
輸入要求:
文件第一行包含兩個(gè)整數(shù)N,M(N>=1,M<=300)。分別表示N個(gè)區(qū)域和M個(gè)員工;
第二行是N個(gè)整數(shù)構(gòu)成的數(shù)列a,其中a[i]表示第i個(gè)區(qū)域可以容納的員工數(shù)(1<=a[i]<=M,a[1]+a[2]+...+a[N]=M);
緊接著是一個(gè)M*N的矩陣P,P(i,j)表示第i個(gè)員工對(duì)第j個(gè)區(qū)域的喜好程度。例:
3 3
1 1 1
100 50 25
100 50 25
100 50 25
樣例:in.txt
輸出要求:
對(duì)于每個(gè)測(cè)試數(shù)據(jù),輸出可以達(dá)到的最大的喜好程度。例:
175
樣例:out.txt
6.剪刀石頭布
N個(gè)小孩正在和你玩一種剪刀石頭布游戲(剪刀贏布,布贏石頭,石頭贏剪刀)。N個(gè)小孩中有一個(gè)是裁判,其余小孩分成三組(不排除某些組沒(méi)有任何成員的可能性),但是你不知道誰(shuí)是裁判,也不知道小孩們的分組情況。然后,小孩們開(kāi)始玩剪刀石頭布游戲,一共玩M次,每次任意選擇兩個(gè)小孩進(jìn)行一輪,你會(huì)被告知結(jié)果,即兩個(gè)小孩的勝負(fù)情況,然而你不會(huì)得知小孩具體出的是剪刀、石頭還是布。已知各組的小孩分別只會(huì)出一種手勢(shì)(因而同一組的兩個(gè)小孩總會(huì)是和局),而裁判則每次都會(huì)隨便選擇出一種手勢(shì),因此沒(méi)有人會(huì)知道裁判到底會(huì)出什么。請(qǐng)你在M次剪刀石頭布游戲結(jié)束后,猜猜誰(shuí)是裁判。如果你能猜出誰(shuí)是裁判,請(qǐng)說(shuō)明最早在第幾次游戲結(jié)束后你就能夠確定誰(shuí)是裁判。
輸入要求:
輸入文件包含多組測(cè)試數(shù)據(jù),每組測(cè)試數(shù)據(jù)第一行為兩個(gè)整數(shù)N和M(1<=N<=500,0<M<=2000),分別為小孩的個(gè)數(shù)和剪刀石頭布游戲進(jìn)行的次數(shù)。接下來(lái)M行,每行兩個(gè)整數(shù)且中間以一個(gè)符號(hào)隔開(kāi)。兩個(gè)整數(shù)分別為進(jìn)行游戲的兩個(gè)小孩各自的編號(hào)(為小于N的非負(fù)整數(shù))。符號(hào)的可能值為“=”、“>”和“<”,分別表示和局、第一個(gè)小孩勝和第二個(gè)小孩勝三種情況。例:
3 3
0<1
1<2
2<0
3 5
0<1
0>1
1<2
1>2
0<2
4 4
0<1
0>1
2<3
2>3
1 0
樣例:in.txt
輸出要求:
1.每組測(cè)試數(shù)據(jù)輸出一行,若能猜出誰(shuí)是裁判,則輸出裁判的編號(hào),并輸出在第幾次游戲結(jié)束后就能夠確定誰(shuí)是裁判,小孩的編號(hào)和游戲次數(shù)以一個(gè)空格隔開(kāi);
2.如果無(wú)法確定誰(shuí)是裁判,輸出-2;如果發(fā)現(xiàn)剪刀石頭布游戲的勝負(fù)情況不合理(即無(wú)論誰(shuí)是裁判都會(huì)出現(xiàn)矛盾),則輸出-1。例:
-2
1 4
-1
0 0
樣例:out.txt