首页 > 其他 > 详细

【字符串大模拟】

时间:2019-11-10 11:20:35      阅读:107      评论:0      收藏:0      [点我收藏+]

学到了神奇的优化

cin优化,能跑的比scanf快!棒!

#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
char s1[1001],s2[1001],s3[1001];
int f[300],f2[300],len1,len2,len3;
int main()
{
    ios::sync_with_stdio(false);
    cin>>s1>>s2>>s3;
    len1=strlen(s1); len2=strlen(s2);
    if (len1<26) 
    {
        cout<<"Failed";
        return 0;
    }
    memset(f,-1,sizeof(f));
    memset(f2,-1,sizeof(f2));
    for (int i=0; i<len1; i++)
    {
        if ((f[s1[i]-A]!=-1||f2[s2[i]-A]!=-1)&&f2[s2[i]-A]!=s1[i]-A) 
            {
                cout<<"Failed";
                return 0;
            }
        if (f[s1[i]-A]==-1) 
        {
            f[s1[i]-A]=s2[i]-A;
            f2[s2[i]-A]=s1[i]-A;
        }
    }
    for (int i=0; i<26; i++)
    if (f[i]==-1)
    {
        cout<<"Failed";
        return 0;
    }
    len3=strlen(s3);
    for (int i=0; i<len3; i++)
    {
        char c=f[s3[i]-A]+A;
        cout<<c;
    }
    return 0;
}

 

【字符串大模拟】

原文:https://www.cnblogs.com/Phantomhive/p/11829073.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!