zoukankan      html  css  js  c++  java
  • 洛谷P1071 潜伏者(水题

    题目描述太多了就不复制了,大意是给s1和s2两个字符串,其中s1为被加密过的,s2为没被加密的原串。加密方式是原来字母被另一个字母所表示。用map表示很简单的。

    然后再给一个字符串要你翻译解开。

    题目要求是说,必须26个字母都有对应的解码,一个字母只能被一个字母所表示。不符合就翻译失败,符合就输出翻译结果。

    上午洛谷随便专题抓的,,有个例子没过,手快按了数据下载x,又面向数据编程了,发现自己没有处理一个字母被两个字母表示的情况x,这个习惯问题很大,,尽量自己找bug,不要直接看数据

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 typedef long long ll;
     4 const int N = 1e3+7;
     5 char s1[N],s2[N],fina[N];
     6 map<char,char>mp,mmp;
     7 int main(){
     8     ios::sync_with_stdio(0);
     9     cin>>s1>>s2>>fina;
    10     int l = strlen(s1);
    11     for(int i = 0;i < l;++i){
    12         if(!mp[s1[i]]){    mp[s1[i]] = s2[i];    mmp[s2[i]] = s1[i];//x-y y-x
    13         }
    14         else if(mp[s1[i]]!=s2[i]){cout<<"Failed"<<endl;return 0;}
    15     }
    16     if(mp.size()<26||mmp.size()<26){cout<<"Failed"<<endl;return 0;}//查验有没有一个字母被两个映射了
    17     int l2 = strlen(fina);
    18     for(int i = 0;i < l2;++i){
    19         fina[i] = mp[fina[i]];
    20     }
    21     cout<<fina<<endl;
    22 }
  • 相关阅读:
    idea如何使用git关联远程仓库
    项目首次上传至git仓库步骤
    Eclipse 的 Java Web 项目环境搭建
    Postman
    Postman接口测试之POST、GET请求方法
    接口测试3A原则
    使用unittest和ddt进行数据驱动
    每天进步一点点006
    每天进步一点点005
    Selenium2+python自动化1-环境搭建(悠悠课程之路)
  • 原文地址:https://www.cnblogs.com/h404nofound/p/12179740.html
Copyright © 2011-2022 走看看