求助!站外题。。。
  • 板块学术版
  • 楼主Big_Sheep
  • 当前回复0
  • 已保存回复0
  • 发布时间2022/4/27 18:48
  • 上次更新2023/10/28 02:47:51
查看原帖
求助!站外题。。。
562288
Big_Sheep楼主2022/4/27 18:48

题目如下

【问题描述】

贝贝所居住的城市有很多个交通路口,其中有26 个交通路口在上下班高峰期总是塞车,严重影响市民的出行。于是交通管理部门研制了一批机器人交通警察,用它们来专门指挥这26 个交通路口,但需要一个自动化的指挥系统来指挥机器人的运作。这个任务交给了贝贝,贝贝的设计如下。

分别用大写英文字母A、B、…、Z 表示这26 个路口,并按如下的规则派出 这些机器人到交通路口协助指挥交通: 1.每次派出两名机器人; 2.当两名机器人的名字中存在一个相同的字母时,这两名机器人便到对应 的交通路口上指挥交通;有多个字母相同时,两名机器人需要按字母的字典顺序 到这些路口上巡逻; 3.当两名机器人的名字中不存在相同的字母时,交警部门的派出指令无效 ( WuXiao)。 假设这些机器人的名字全由大写字母组成,请你编一个程序,帮贝贝完成这 个交通指挥系统。 【输入格式】jqr.in

第1 行输入第一个机器人的名字(长度不超过250);

第2 行输入第二个机器人的名字(长度不超过250)。

【输出格式】jqr.out

1.当不能派出机器人时,在第一行输出“WuXiao”;

2.当两名机器人在路口上指挥交通时,在第一行输出“ZhiHui”,第二行输 出路口编号;

3.当两名机器人在路口上巡逻时,在第一行输出“XLuo",第二行输出巡逻 的路口数,第三行输出巡逻线路。

【输入输出样例】

输入输出

样例1

OPEN

CLOSE

XLuo

2

E-O

样例2 EPSON

SENPUM

XLuo

4

E-N-P-S

排版有点乱,请见谅。。。

下面是本蒟蒻的代码
#include<iostream>
#include<cstring>
#include<string>
#include<cmath>
using namespace std;
string n1,n2;
int t1[30],t2[30];
int main(){
	cin>>n1>>n2;
	int len1=n1.size(),len2=n2.size();
	for(int i=0;i<len1;i++) t1[n1[i]-'A'+1]++;
	for(int i=0;i<len2;i++) t2[n2[i]-'A'+1]++;
	int cnt=0;
	for(int i=1;i<=26;i++){
		if(t1[i]>0&&t2[i]>0) cnt++;
	}
	if(cnt==1){
		for(int i=1;i<=26;i++){
			if(t1[i]>0&&t2[i]>0){
				cout<<"ZhiHui"<<endl<<i;
				return 0;
			}
		}
	}else if(cnt>1){
		cout<<"XLuo"<<endl<<cnt<<endl;
		int k=1;
		for(int i=1;i<=26;i++){
			if(t1[i]>0&&t2[i]>0){
				cout<<(char)(i-1+'A');
				break;
			}
			k++;
		}
		for(int i=k+1;i<=26;i++){
			if(t1[i]>0&&t2[i]>0){
				cout<<"-"<<(char)(i-1+'A');
			}
		}
	}else if(cnt==0){
		cout<<"WuXiao";
		return 0;
	}
}


各位大佬麻烦帮忙康康哪里有漏洞,谢谢!

2022/4/27 18:48
加载中...