傳話遊戲_AC路漫漫

來源:互聯網
上載者:User

時間限制: 1000ms 記憶體限制: 256MB

描述

Alice和Bob還有其他幾位好朋友在一起玩傳話遊戲。這個遊戲是這樣進行的:首先,所有遊戲者按順序站成一排,Alice站第一位,Bob站最後一位。然後,Alice想一句話悄悄告訴第二位遊戲者,第二位遊戲者又悄悄地告訴第三位,第三位又告訴第四位……以此類推,直到倒數第二位告訴Bob。兩位遊戲者在傳話中,不能讓其他人聽到,也不能使用肢體動作來解釋。最後,Bob把他所聽到的話告訴大家,Alice也把她原本所想的話告訴大家。 

由於傳話過程中可能出現一些偏差,遊戲者越多,Bob最後聽到的話就與Alice所想的越不同。Bob聽到的話往往會變成一些很搞笑的東西,所以大家玩得樂此不疲。經過幾輪遊戲後,Alice注意到在兩人傳話中,有些詞彙往往會錯誤地變成其他特定的詞彙。Alice已經收集到了這樣的一個詞彙轉化的列表,她想知道她的話傳到Bob時會變成什麼樣子,請你寫個程式來協助她。 輸入

輸入包括多組資料。第一行是整數 T,表示有多少組測試資料。每組資料第一行包括兩個整數 N 和 M,分別表示遊戲者的數量和單詞轉化列表長度。隨後有 M 行,每行包含兩個用空格隔開的單詞 a 和 b,表示單詞 a 在傳話中一定會變成 b。輸入資料保證沒有重複的 a。最後一行包含若干個用單個空格隔開的單詞,表示Alice所想的句子,句子總長不超過100個字元。所有單詞都只包含小寫字母,並且長度不超過20,同一個單詞的不同時態被認為是不同的單詞。你可以假定不在列表中的單詞永遠不會變化。 輸出

對於每組測試資料,單獨輸出一行“Case #c: s”。其中,c 為測試資料編號,s 為Bob所聽到的句子。s 的格式與輸入資料中Alice所想的句子格式相同。 資料範圍

1 ≤ T ≤ 100

小資料:2 ≤ N ≤ 10, 0 ≤ M ≤ 10 

大資料:2 ≤ N ≤ 100, 0 ≤ M ≤ 100 


範例輸入

24 3ship sheepsinking thinkingthinking sinkingthe ship is sinking10 5tidy tinytiger liartired tiretire bearliar beara tidy tiger is tired
範例輸出
Case #1: the sheep is thinkingCase #2: a tiny bear is bear

解題說明:這道題就是字串替換問題,首先要解決句子輸入問題,可以考慮用%s%c輸入並判斷%c的值來把一個句子按單詞讀入。然後再考慮字串轉換問題,注意這裡是n個傳話者,需要傳話n-1次,每次傳話都需要進行單詞替換,一個單詞在一次傳話中只可能替換一次,最終可以用三層迴圈來實現。


#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<cmath>using namespace std;int main(){int num,t,n,m,i,k,j,upset;char a[101][25],b[101][25];char c[101][25],temp;scanf("%d",&num);for(t=1;t<=num;t++){scanf("%d %d",&n,&m);for(i=0;i<m;i++){scanf("%s %s",&a[i],&b[i]);}k=0;while(1){scanf("%s%c",&c[k],&temp);if(temp=='\n'){break;}else{k++;}}for(upset=0;upset<n-1;upset++){for(j=0;j<=k;j++){for(i=0;i<m;i++){if(strcmp(c[j],a[i])==0){strcpy(c[j],b[i]);break;}}}}printf("Case #%d: ",t);for(j=0;j<k;j++){printf("%s ",c[j]);}printf("%s\n",c[k]);}return 0;}


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.