我这代码看起来没啥问题呀?为啥样例都过不了?
查看原帖
我这代码看起来没啥问题呀?为啥样例都过不了?
1088916
wangxiangquan楼主2024/12/22 12:57
#include<queue>
#include<string.h>
#include<stdio.h>
int map[1001][1001],mid,lenk,lenc;
char k[1001],c[1001];
std::queue<int>q;
int main(){
	for(int i=1;i<=26;i++) q.push(i);
	for(int i=1;i<=26;i++){
		mid=q.front();
		q.push(mid);q.pop();
		for(int j=26;j>=1;j--){
			mid=q.front();
			map[i][j]=q.front();
			q.push(mid);q.pop();
		}
	}
	scanf("%s",k);
	scanf("%s",c);
	lenk=strlen(k);
	lenc=strlen(c);
	int pos=0;
	for(int i=0;i<lenc;i++){
		if(pos>lenk-1) pos=0;
		if(int(c[i])<=90){
			if(int(k[pos])<=90){
				printf("%c",map[int(c[i])-64][int(k[i])-64]+64);
				pos++;
			}else{
				printf("%c",map[int(c[i])-64][int(k[i])-96]+64);
				pos++;
			}
		}else{
			if(int(k[pos])<=90){
				printf("%c",map[int(c[i])-96][int(k[i])-64]+96);
				pos++;
			}else{
				printf("%c",map[int(c[i])-96][int(k[i])-96]+96);
				pos++;
			}
		}
	}
	return 0;
}

AC必关。

2024/12/22 12:57
加载中...