[ CodeVS冲杯之路 ] P1171

  不充钱,你怎么AC?ios

  题目:http://codevs.cn/problem/1171/数组

 

  代码调了好久才调好啊,一开始题目都看错了(要是真的NOIP确定没戏了QuQ)spa

  后面发现CodeVS上的数据输入最后是没有回车的,致使WA烂啊……code

  给你两个串,它们每一个字母有一一对应的关系,若是遇到不一样字母对应相同的就 Failedblog

  或者相同字母对应不一样字母也 Failed,若是最后 'A'-'Z' 其中有没有对应的仍是 Failedget

  直接开 255 的数组,(其实也能够只开26个)至关于 26 个关键字的哈希string

  双判重后检测是否每一个字母都有对应it

  最后按照对应输出io

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
#define NA {printf("Failed\n");return 0;}
using namespace std;

char d[255],s[255],a[255],v[255];
bool f[255];
int main()
{
    char c;
    int i,len,j=0;
    scanf("%s\n",s);
    len=strlen(s);
    for (i=0;i<len;i++)
    {
        c=getchar();
        if (d[s[i]]!='\0'&&d[s[i]]!=c) NA
        else d[s[i]]=c;
    }
    for (i='A';i<='Z';i++) if (d[i]=='\0'||f[d[i]]) NA else f[d[i]]=1;
    getchar();
    scanf("%s",v);
    i=0;
    while (v[i]>='A'&&v[i]<='Z')
    {
        if (d[v[i]]!='\0') a[++j]=d[v[i]];
        else NA
        i++;
    }
    for (i=1;i<=j;i++) printf("%c",a[i]);
    return 0;
}
相关文章
相关标签/搜索