第1课贝贝的交通指挥系统(《聪明人的游戏:信息学探秘.提高篇-2017-06-C++版》)
【問題描述】
? ? 貝貝所居住的城市有很多個交通路口,其中有26個交通路口在上下班高峰期總是塞車,嚴重影響市民的出行。于是交通管理部門研制了一批機器人交通警察,用它們來專門指揮這26個交通路口,但需要一個自動化的指揮系統(tǒng)來指揮機器人的運作。這個任務交給了貝貝,貝貝的設計如下。
? ? 分別用大寫英文字母A、B、…、Z表示這26個路口,并按如下的規(guī)則派出這些機器人到交通路口協(xié)助指揮交通:
? ? 1.每次派出兩名機器人; ?
? ? 2.當兩名機器人的名字中存在一個相同的字母時,這兩名機器人便到對應的交通路口上指揮交通;有多個字母相同時,兩名機器人需要按字母的字典順序到這些路口上巡邏;
? ? 3.當兩名機器人的名字中不存在相同的字母時,交警部門的派出指令無效( WuXiao)。
? ? 假設這些機器人的名字全由大寫字母組成,請你編一個程序,幫貝貝完成這個交通指揮系統(tǒng)。
【輸入格式】jqr.in
? ? 第1行輸入第一個機器人的名字(長度不超過250);
? ? 第2行輸入第二個機器人的名字(長度不超過250)。
? ??
【輸出格式】jqr.out
? ? 1.當不能派出機器人時,在第一行輸出“WuXiao”;
? ? 2.當兩名機器人在路口上指揮交通時,在第一行輸出“ZhiHui”,第二行輸出路口編號;
? ? 3.當兩名機器人在路口上巡邏時,在第一行輸出“XLuo",第二行輸出巡邏的路口數(shù),第三行輸出巡邏線路。
https://www.cnblogs.com/kj1501120706/p/7111951.html
#include <bits/stdc++.h> using namespace std; string s1,s2; char a[300]; bool b[26]; int total,len1,len2; void init() {cin>>s1>>s2;total=0;len1=s1.size();len2=s2.size();for(int i=0;i<26;i++) {b[i]=true;}for(int i=0;i<len1;i++)for(int j=0;j<len2;j++){if(s1[i]==s2[j] && b[s1[i]-'A']){total++;a[total]=s1[i];b[s1[i]-'A']=false;}} }void swap(char &a,char &b) {int tmp=a;a=b;b=tmp; } void work() {if(total==0) cout<<"WuXiao"<<endl;if(total==1){cout<<"ZhiHui"<<endl;cout<<a[total]<<endl;}for(int i=1;i<total;i++){bool p=true;for(int j=total;j>i;j--){if(a[j]<a[j-1]){swap(a[j],a[j-1]);p=false;}}if(p) break;}if(total>1){cout<<"XLuo"<<endl<<total<<endl;cout<<a[1];for(int i=2;i<=total;i++){cout<<"-"<<a[i];}} } int main() {init();work();return 0; }?
總結
以上是生活随笔為你收集整理的第1课贝贝的交通指挥系统(《聪明人的游戏:信息学探秘.提高篇-2017-06-C++版》)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: thinkphp5 接入百度语音合成接口
- 下一篇: 华为 HarmonyOS2.0(鸿蒙OS