35 2 35 1 -1 -1
Case #1: Yes Case #2: No
第一次做 把每一位存到数组中 逐次往前挪 华丽丽的超时了 看标程 发现可以在源数字的基础上只操作数字 好了 用log10()又超时了orz
得 照着标称做吧 改了一上午加一晚上一直WA 把变量名都换过去了 还不对 开头特判0写成1 一直没看出来!!!长点心吧
#include <iostream> #include<cstdio> #include<cstring> using namespace std; int main() { // freopen("cin.txt","r",stdin); int n,m,k,l,cas=1; while(~scanf("%d%d",&n,&m)) { if(n==-1&&m==-1) break; // printf("n=%d t=%d\n",n,t); if(m==0) { if(n%11==0) printf("Case #%d: Yes\n",cas++); else printf("Case #%d: No\n",cas++); continue; } k=n; l=0; while(k>0) { l+=k%10; k/=10; } while(m--) { k=l; while(k>0) { k/=10; n*=10; } n=(n+l)%11; k=l; while(k>0) { l+=(k%10); k/=10; } } // printf("%d ",n); if(n==0) printf("Case #%d: Yes\n",cas++); else printf("Case #%d: No\n",cas++); } return 0; }