HDU ACM 1591 Encoded Love-letter

虽然是水题,一开始也错了好多次,真是坑啊!


#include<iostream>
using namespace std;

char a[101];
char c[26];
bool index[26];

void create()
{
    int i,j;

    memset(index,0,sizeof(index));
    for(i=0;i<strlen(a);i++)
        {
            index[a[i]-'A']=1;
             c[i]=a[i];
        }

    for(i=25,j=0;i>=strlen(a);i--,j++)
    {
        while(index[j]) j++;

        c[i]=j+'A';
    }
}

int Get(char x)
{
    int i;

    for(i=0;i<26;i++)
        if(c[i]==x)
            return i;
}

int main()
{
    char d[10001];
    int i;

    gets(a);
    create();

    while(gets(d))
    {
        i=0;
        while(d[i]!='\0')
        {
            if(d[i]>='A' && d[i]<='Z')
                putchar(Get(d[i])+'A');
            else if(d[i]>='a' && d[i]<='z')
                putchar(Get(d[i]-32)+'a');
            else
                putchar(d[i]);
            i++;
        }
        cout<<endl;
    }
    return 0;
}


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。