POJ2359 questions

来源:互联网 发布:js body append html 编辑:程序博客网 时间:2024/05/23 12:54

依旧是一道约瑟夫环的问题

给一个字符串从第一个开始报数,报到1999的就删除,就这样依次删掉,直到剩下最后一个字符

用gets输入字符串有个好处就是可以去掉空格,再用一个STRING s连接成一个完整的字符串

然后递推公式m=(m+1999)%i,直到最后一个

#include<iostream>#include<cstdio>#include<string>using namespace std;const int N=1999;const int ma=30010;char d[ma];int main(){     string s;     int m=0; while(gets(d)) s+=d; int l=s.size(); for(int i=2;i<=l;i++)    m=(m+N)%i;if(s[m]=='?')  printf("Yes\n");    else if(s[m]==' ')      printf("No\n");    else      printf("No comments\n");return 0;}


0 0
原创粉丝点击