Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
20899 孙喻桐 印度国王的棋盘 C++ 通过 100 0 MS 252 KB 973 2021-06-20 19:34:51

Tests(9/9):


#include<bits/stdc++.h> using namespace std; int l,r,n[110],ans[110]; int main(){ scanf("%d,%d",&l,&r); memset(n,0,sizeof(n)); memset(ans,0,sizeof(ans)); n[1]=1; for(int i=1;i<l;i++){ for(int j=1;j<=100;j++)n[j]=n[j]+n[j]; for(int j=1;j<=100;j++){ if(n[j]>=10){ n[j+1]+=n[j]/10; n[j]=n[j]%10; } // cout<<n[i]; } } for(int i=1;i<=100;i++)ans[i]=n[i]; for(int i=l;i<r;i++){ for(int j=1;j<=100;j++){ n[j]=n[j]+n[j]; } for(int j=1;j<=100;j++){ if(n[j]>=10){ n[j+1]+=n[j]/10; n[j]=n[j]%10; } ans[j]+=n[j]; if(ans[j]>=10){ ans[j+1]+=ans[j]/10; ans[j]=ans[j]%10; } } } for(int i=100;i>=1;i--){ if(ans[i]){ if(i>=6){ // cout<<1<<endl; for(int j=0;j<=2;j++)cout<<ans[i-j]; cout<<","; cout<<ans[3]<<ans[2]<<ans[1]; return 0; } else { // cout<<2<<endl; for(int j=i;j>=1;j--)cout<<ans[j]; return 0; } } } }


测评信息: