求助一道水题,题目理解有问题...
  • 板块灌水区
  • 楼主四宫辉夜
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/5/1 11:11
  • 上次更新2023/10/28 02:30:59
查看原帖
求助一道水题,题目理解有问题...
335816
四宫辉夜楼主2022/5/1 11:11

题目: P1071

卡在了第一个点上...第一个点的输入是:

A
A
A

标答是:

Failed

但是我没看懂这个是违反了哪一条原则导致被判为Failed

代码:

#include<cstdio>
#include<cstring>
#include<iostream>
#include<string>
#include<map>
#include<set>
using std::string;
using std::cin;
using std::cout;
using std::endl;
using std::ios;
using std::map;
using std::set;

set<char>sa,sb;
map<char,char>mp;
string a,b,c;
bool flag=false;

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    cin>>a;cin>>b;cin>>c;
    for(auto i:a)sa.insert(i);
    for(auto i:b)sb.insert(i);
    for(register int i=0;i<a.size();++i)
        if(mp.find(a[i])==mp.end())mp[a[i]]=b[i];
        else if(mp[a[i]]!=b[i]){flag=true;break;}
    for(auto i:sa)if(sb.find(i)==sb.end()){flag=true;break;}
    if(flag){puts("Failed");return 0;}
    for(auto i:c)cout<<mp[i];
    cout<<endl;
}
2022/5/1 11:11
加载中...