1 条题解
-
0
using namespace std; int n,a[101],b[101],ans,i; void init(int a[])//将数串s转化为整数数组a { string s; cin>>n>>s;//读入字符串s memset(a,0,sizeof(a));//将数组a初始化 a[0]=s.length();//用a[0]计算字符串s的位数 for(i=1;i<=a[0];i++) { if(s[a[0]-i]>='0'&&s[a[0]-i]<='9') a[i]=s[a[0]-i]-'0'; else a[i]=s[a[0]-i]-'A'+10; } } bool check(int a[]) { for(i=1;i<=a[0];i++) if(a[i]!=a[a[0]-i+1]) return false; return true; } void jia(int a[]) { int i,k; for(i=1;i<=a[0];i++) b[i]=a[a[0]-i+1]; for(i=1;i<=a[0];i++) a[i]+=b[i]; for(i=1;i<=a[0];i++) { a[i+1]+=a[i]/n; a[i]%=n; } if(a[a[0]+1]>0) a[0]++; } int main() { freopen("huiwen.in","r",stdin); freopen("huiwen.out","w",stdout); init(a); if(check(a)) { cout<<"STEP="<<'0'; return 0; } ans=0; while(ans<=30) { ans++; jia(a); if(check(a)) { cout<<"STEP="<<ans; return 0; } } cout<<"Impossible!"; return 0; }
信息
- ID
- 1555
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 84
- 已通过
- 22
- 上传者