首页 > 代码库 > Integer Game(UVA11489)3的倍数
Integer Game(UVA11489)3的倍数
K - Integer Game
Time Limit:1000MS Memory Limit:0KB 64bit IO Format:%lld & %llu
题意:在n中取数字,使剩下的数是3的倍数,不能取则失败。
思路:假设能使当前数为3的倍数,数字和必是3的倍数。
要保持这样的状态。先对每一位对3取余,统计cnt[0],cnt[1],cnt[2]; 的个数。整个串是否能被3整除取决于ans=(cnt[1]+cnt[2]*2)%3;分情况讨论,假设能整除,则,推断cnt[0]的个数,假设是偶数个则T。否则S;假设不能整除。则,要特判cnt[ans]的个数是否大于0;<eg:11111>;大于0,则cnt[0]的个数为偶数个则S。否则T。等于0则T;
一直坑在11111这样的情况!o(︶︿︶)o 唉
转载请注明出处:寻找&星空の孩子
#include<stdio.h> #include<string.h> int main() { int T,len,ca=1; scanf("%d",&T); char a[10005]; while(ca<=T) { scanf("%s",a); len=strlen(a); int cnt[3]={0,0,0}; for(int i=0;i<len;i++) { int tp=a[i]-‘0‘; cnt[tp%3]++; } printf("Case %d: ",ca++); int mo=(cnt[1]+cnt[2]*2)%3; if(mo) { if(cnt[mo]>0)//11111 { if(cnt[0]&1) printf("T\n"); else printf("S\n"); } else { printf("T\n"); } } else { if(cnt[0]&1) printf("S\n"); else printf("T\n"); } } return 0; }
Integer Game(UVA11489)3的倍数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。