如题(水题大集锦)
1.P1914 小书童——密码
思路:
因为是循环的,所以我们进行%26即可
上代码:
#include <iostream> #include <cstdio> using namespace std; const int Mod = 26; const char e[Mod] = {‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘,‘g‘,‘h‘,‘i‘,‘j‘,‘k‘,‘l‘,‘m‘,‘n‘,‘o‘,‘p‘,‘q‘,‘r‘,‘s‘,‘t‘,‘u‘,‘v‘,‘w‘,‘x‘,‘y‘,‘z‘}; int n; string y; int main() { scanf("%d",&n); cin>>y; int len=y.length(); for(int i=0,d; i<len; i++) { d=(y[i]-‘a‘+n)%26; printf("%c",e[d]); } return 0; }
2.P1200 [USACO1.1]你的飞碟在这儿Your Ride Is He…
(Maybe是Here。。)
思路:
将字符串转化为数字之后,边乘边模即可
坑点:
注意ret的初始值应该设置为1,而不是0,因为用到了乘
上代码:
#include <iostream> #include <cstdio> #include <cstring> using namespace std; const int Mod = 47; char s[10],p[10]; int UFO(char a[],int len) { int ret=1; for(int i=0,x; i<len; i++) { x=a[i]-‘A‘+1; ret=ret*x%Mod; } return ret; } int main() { cin>>s>>p; int lens=strlen(s),lenp=strlen(p); if(UFO(s,lens)==UFO(p,lenp)) printf("GO"); else printf("STAY"); return 0; }
时间: 2024-10-10 21:10:35