社区讨论

CE......

P1079[NOIP 2012 提高组] Vigenère 密码参与者 2已保存回复 5

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
5 条
当前快照
1 份
快照标识符
@lo21ri07
此快照首次捕获于
2023/10/23 06:35
2 年前
此快照最后确认于
2023/11/03 06:57
2 年前
查看原帖
本地能过,但是说让我用fgets();在洛谷IDE也是CE
CPP
#include<algorithm>
#include<iostream>
#include<cstring>
#include<string>
#include<iomanip>
#include<cstdio>
#include<cctype>
#include<cmath>
#include<stack>
#include<queue>
using namespace std;
char password[100],word[100],cd[100];
int main(){
    ios::sync_with_stdio(false);
    gets(password);
    gets(word);
    int l1=strlen(password),l2=strlen(word);
    if(l1<l2){
        for(int i=l1;i<l2;i++){
            password[i]=password[i-l1];
        }
    }
    for(int i=0,c;i<l2;i++){
        if(password[i]>='A'&&password[i]<='Z'){
            c=password[i]-'A';
        }
        if(password[i]>='a'&&password[i]<='z'){
            c=password[i]-'a';
        }
        cd[i]=word[i]-c;
        if(word[i]>='A'&&word[i]<='Z'){
            if(cd[i]<'A'){
                cd[i]+=26;
            }
        }
        if(word[i]>='a'&&word[i]<='z'){
            if(cd[i]<'a'){
                cd[i]+=26;
            }
        }
    }
    for(int i=0;i<l2;i++){
        cout<<cd[i];
    }
    return 0;
}

回复

5 条回复,欢迎继续交流。

正在加载回复...