首页 > 代码库 > POJ 1107
POJ 1107
水题一道,注意取模时不能为0
#include <iostream>#include <algorithm>#include <cstring>#include <string.h>#include <cstdio>using namespace std;char s[150];char ans1[150],ans2[150],ans3[150];int mark[150];int p1,p2,p3;int main(){ int k1,k2,k3; while(scanf("%d%d%d",&k1,&k2,&k3),k1||k2||k3){ int b1,b2,b3; b1=b2=b3=0; p1=p2=p3=0; scanf("%s",s); for(int i=0;s[i]!=‘\0‘;i++){ if(s[i]>=‘a‘&&s[i]<=‘i‘){ mark[i]=1; ans1[p1++]=s[i]; } else if(s[i]>=‘j‘&&s[i]<=‘r‘){ mark[i]=2; ans2[p2++]=s[i]; } else{ mark[i]=3; ans3[p3++]=s[i]; } } if(p1!=0) b1=((0-k1)%p1+p1)%p1; if(p2!=0) b2=((0-k2)%p2+p2)%p2; if(p3!=0) b3=((0-k3)%p3+p3)%p3; for(int i=0;s[i]!=‘\0‘;i++){ if(mark[i]==1){ printf("%c",ans1[b1]); b1=(b1+1); if(p1!=0) b1%=p1; } else if(mark[i]==2){ printf("%c",ans2[b2]); b2=(b2+1); if(p2!=0) b2%=p2; } else{ printf("%c",ans3[b3]); b3=(b3+1); if(p3!=0) b3%=p3; } } printf("\n"); } return 0;}
POJ 1107
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。