noi2017-Day2-T1
【問(wèn)題描述】
狂野飆車是小L最喜歡的游戲弓柱。與其他業(yè)余玩家不同的是,小L在玩游戲之余侧但,還精于研究游戲的設(shè)計(jì)矢空,因此他有著與眾不同的游戲策略。
小L計(jì)劃進(jìn)行n場(chǎng)游戲禀横,每場(chǎng)游戲使用一張地圖屁药,小L會(huì)選擇一輛車在該地圖上完成游戲。
小L的賽車有三輛柏锄,分別用大寫字母A酿箭、B复亏、C表示。地圖一共有四種缭嫡,分別用小寫字母x缔御、a、b械巡、c表示刹淌。其中,賽車A不適合在地圖a上使用讥耗,賽車B不適合在地圖b上使用有勾,賽車C不適合在地圖c上使用,而地圖x則適合所有賽車參加古程。適合所有賽車參加的地圖并不多見(jiàn)蔼卡,最多只會(huì)有 d 張。
n場(chǎng)比賽的地圖可以用一個(gè)小寫字母組成的字符串描述挣磨。例如:S=xaabxcbc表示小L計(jì)劃進(jìn)行8場(chǎng)游戲雇逞,其中第1場(chǎng)和第5場(chǎng)的地圖類型是x,適合所有賽車茁裙,第2 場(chǎng)和第3場(chǎng)的地圖是a塘砸,不適合賽車A,第4 場(chǎng)和第7 場(chǎng)的地圖是b晤锥,不適合賽車B掉蔬,第6場(chǎng)和第8 場(chǎng)的地圖是c,不適合賽車C矾瘾。
小L對(duì)游戲有一些特殊的要求女轿,這些要求可以用四元組(i,hi,j,hj)來(lái)描述,表示若在第i場(chǎng)使用型號(hào)為hi的車子壕翩,則第j場(chǎng)游戲要使用型號(hào)為hj的車子蛉迹。
你能幫小L選擇每場(chǎng)游戲使用的賽車嗎?如果有多種方案放妈,輸出任意一種方案北救。如果無(wú)解,輸出“-1”(不含雙引號(hào))芜抒。
(題目描述以pdf文件為準(zhǔn))
【輸入形式】
從文件 game.in 中讀入數(shù)據(jù)扭倾。 輸入第一行包含兩個(gè)非負(fù)整數(shù) n, d。 輸入第二行為一個(gè)字符串 S 挽绩。 n, d, S 的含義見(jiàn)題目描述,其中 S 包含 n 個(gè)字符,且其中恰好 d 個(gè)為小寫字母 x膛壹。 輸入第三行為一個(gè)正整數(shù) m ,表示有 m 條用車規(guī)則。接下來(lái) m 行,每行包含一個(gè) 四元組 i, h i , j, h j ,其中 i, j 為整數(shù),h i , h j 為字符 a 、b 或 c,含義見(jiàn)題目描述模聋。
【輸出形式】
輸出到文件 game.out 中肩民。 輸出一行。 若無(wú)解輸出 “-1’’(不含雙引號(hào))链方。 若有解,則包含一個(gè)長(zhǎng)度為 n 的僅包含大寫字母 A持痰、B、C 的字符串,表示小 L 在這 n 場(chǎng)游戲中如何安排賽車的使用祟蚀。如果存在多組解,輸出其中任意一組即可工窍。
【輸入樣例1】
3 1
xcc
1
1 A 2 B
(樣例解釋見(jiàn)pdf文件)
【輸出樣例1】
ABA
【輸入樣例2】
見(jiàn)下發(fā)文件中的 game/game2.in
【輸出樣例2】
見(jiàn)下發(fā)文件中的 game/game2.ans
【時(shí)間限制】
1s
【空間限制】
512000KB
【上傳文件】
上傳c, cpp, pas語(yǔ)言源程序,文件名為game.c, game.cpp, game.pas前酿。
Upload Your source File(s) :
Note :Your program can be written with the programing language(s) as below
C(.c): your source filename is ''game.c''
CPP(.cpp): your source filename is ''game.cpp''
PAS(.pas): your source filename is ''game.pas''