问题 A: 【字符串】贝贝的交通指挥系统

151 篇文章 8 订阅

黑色的飞鸟掠过天空,我站在城中,看时间燃成灰烬,哗哗作响......

题目描述

       贝贝所居住的城市有很多个交通路口,其中有26个交通路口在上下班高峰期总是塞车,严重影响市民的出行。于是交通管理部门研制了一批机器人交通警察,用它们来专门指挥这26个交通路口,但需要一个自动化的指挥系统来指挥机器人的运作。这个任务交给了贝贝,贝贝的设计如下。
    分别用大写英文字母A、B、…、Z表示这26个路口,并按如下的规则派出这些机器人到交通路口协助指挥交通:
    1.每次派出两名机器人;
    2.当两名机器人的名字中存在一个相同的字母时,这两名机器人便到对应的交通路口上指挥交通;有多个字母相同时,两名机器人需要按字母的字典顺序到这些路口上巡逻;
    3.当两名机器人的名字中不存在相同的字母时,交警部门的派出指令无效(WuXiao)。
    假设这些机器人的名字全由大写字母组成,请你编一个程序,帮贝贝完成这个交通指挥系统。

 

输入

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

 

输出

1.当不能派出机器人时,在第一行输出“WuXiao”;
2.当两名机器人在路口上指挥交通时,在第一行输出“ZhiHui”,第二行输出路口编号;
3.当两名机器人在路口上巡逻时,在第一行输出“XLuo”,第二行输出巡逻的路口数,第三行输出巡逻线路。

 

样例输入

复制样例数据

OPEN
CLOSE

样例输出

XLuo
2
E-O

这个题不想说了,第一个代码是正确的,可是,第二个代码为啥就不对呢????,还有把第一个代码中的cin,cout换成scanf,printf也是错的???

#include <map>
#include <set>
#include <list>
#include <cmath>
#include <deque>
#include <queue>
#include <stack>
#include <cctype>
#include <cstdio>
#include <bitset>
#include <string>
#include <vector>
#include <complex>
#include <cstring>
#include <iomanip>
#include <iostream>
#include <algorithm>
#include <functional>
#define inf 0x3f3f3f3f
typedef long long ll;
using namespace std;

int main()
{
    string a,b;
    cin>>a>>b;
    set<char>P;
    int L1=a.length();
    int L2=b.length();
    for(int i=0; i<L1; i++)
        for(int j=0; j<L2; j++)
            if(a[i]==b[j])
                P.insert(a[i]);
    set<char>::iterator it;
    int num=P.size();
    if(num==0)
        cout<<"WuXiao"<<endl;
    else if(num==1)
    {
        cout<<"ZhiHui"<<endl;
        for(it=P.begin(); it!=P.end(); it++)
            cout<<*it<<endl;
    }
    else
    {
        cout<<"XLuo"<<endl;
        cout<<num<<endl;
        int flag=0;
        for(it=P.begin(); it!=P.end(); it++)
        {
            if(flag)
                cout<<"-";
            flag=1;
            cout<<*it;
        }
        cout<<endl;
    }
    return 0;
}

#include <map>
#include <set>
#include <list>
#include <cmath>
#include <deque>
#include <queue>
#include <stack>
#include <cctype>
#include <cstdio>
#include <bitset>
#include <string>
#include <vector>
#include <complex>
#include <cstring>
#include <iomanip>
#include <iostream>
#include <algorithm>
#include <functional>
#define inf 0x3f3f3f3f
typedef long long ll;
using namespace std;
string s1,s2;
set<char>p1,p2,p;
int main()
{
    cin>>s1;
    cin>>s2;
    int i,l1=s1.length(),l2=s2.length();
    for(i=0; i<l1; i++)
    {
        p1.insert(s1[i]);
        p.insert(s1[i]);
    }
    for(i=0; i<l2; i++)
    {
        p2.insert(s2[i]);
        p.insert(s2[i]);
    }
    int sum=p1.size()+p2.size();
    int sump=p.size();
    int sumz=sum-sump;
//    cout<<sum<<endl<<sump<<endl;
//    set<char>::iterator dd; //定义前向迭代器
//        for(dd = p1.begin(); dd != p1.end(); dd++)
//            cout << *dd<< " ";
//            cout<<endl;
//        for(dd = p2.begin(); dd != p2.end(); dd++)
//            cout << *dd << " ";
//            cout<<endl;
//        for(dd = p.begin(); dd != p.end(); dd++)
//            cout << *dd << " ";
    if(sumz==0)
        printf("WuXiao");
    if(sumz>=1)
    {
        int flag=1;
        if(sumz==1)
            printf("ZhiHui\n");
        else
        {
            printf("XLou\n");
            printf("%d\n",sumz);
        }
        set<char>::iterator dd;
        set<char>::iterator ss; //定义前向迭代器
        for(dd = p1.begin(); dd != p1.end(); dd++)
        {
            for(ss=p2.begin(); ss!=p2.end(); ss++)
            {
                if(*dd==*ss)
                {
                    if(flag==1)
                    {
                        printf("%c",*dd);
                        flag=0;
                    }
                    else
                        printf("-%c",*dd);
                }
            }
        }
    }
    printf("\n");
    return 0;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值