社区讨论

为啥会RE,求调

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

讨论操作

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

当前回复
0 条
当前快照
1 份
快照标识符
@m4jgnfke
此快照首次捕获于
2024/12/11 13:39
去年
此快照最后确认于
2024/12/11 18:16
去年
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
string a,b,c;
int pd(char x)
{
	int ans=0;
	if(x>='a'&&x<='z')
		ans=int(x)%int('a');
	if(x>='A'&&x<='Z')
		ans=int(x)%int('A');
	return ans;
}
int main()
{
	getline(cin,a);
	getline(cin,b);
	for(int i=0;i<b.size();i++)
	{
		if(pd(b[i])<pd (a[i%a.size()]))
		{
			if(b[i]>='a'&&b[i]<='z')
				c[i]=char(int('z')-abs(pd(b[i])-pd(a[i%a.size()]))+1);
			if(b[i]>='A'&&b[i]<='Z')
				c[i]=char(int('Z')-abs(pd(b[i])-pd(a[i%a.size()]))+1);
		}
		else
		
		c[i]=char(int(b[i])-pd(a[i%a.size()]));
	}
	for(int i=0;i<b.size();i++)
	{
		cout<<c[i];
	}
	return 0;
}

回复

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

正在加载回复...