记录编号 |
40655 |
评测结果 |
AAAAAAAAAAWAAA |
题目名称 |
[暑假培训2012] 残酷的数学老师 |
最终得分 |
92 |
用户昵称 |
二木子系 |
是否通过 |
未通过 |
代码语言 |
C++ |
运行时间 |
1.779 s |
提交时间 |
2012-07-18 15:51:07 |
内存使用 |
0.32 MiB |
显示代码纯文本
#include<iostream>
#include<fstream>
using namespace std;
int main(){
ifstream fin("cruel1.in");
ofstream fout("cruel1.out");
char num[15000];
int m=0,n=0,p=0,x[10]={0},w,y[15000]={0},z[15000]={0};
fin>>num>>w;
for(int a=0;a<10;a++){
if(num[a]<'0'||num[a]>'9'){
m=a;
break;}
}
for(int a=m;a>0;a--) x[m-a]=num[a-1]-'0';
for(int a=m;a>0;a--) y[m-a]=num[a-1]-'0';
for(int a=1;a<w;a++){
for(int b=0;b<15000;b++){
if(z[b]==0&&z[b+1]==0&&z[b+2]==0&&z[b+3]==0&&z[b+4]==0&&z[b+5]==0&&z[b+6]==0&&
z[b+7]==0&&z[b+8]==0&&z[b+9]==0&&z[b+10]==0&&z[b+11]==0&&z[b+12]==0&&
z[b+13]==0&&z[b+14]==0&&z[b+15]==0&&z[b+16]==0&&z[b+17]==0&&z[b+18]==0&&
z[b+19]==0&&z[b+20]==0&&z[b+21]==0&&z[b+22]==0&&z[b+23]==0&&z[b+24]==0&&
z[b+25]==0&&z[b+26]==0&&z[b+27]==0&&z[b+28]==0&&z[b+29]==0&&z[b+30]==0){
n=b;
break;}
}
if(n==0){
for(int b=0;b<15000;b++){
if(y[b]==0&&y[b+1]==0&&y[b+2]==0&&y[b+3]==0&&y[b+4]==0&&y[b+5]==0&&y[b+6]==0&&
y[b+7]==0&&y[b+8]==0&&y[b+9]==0&&y[b+10]==0&&y[b+11]==0&&y[b+12]==0&&
y[b+13]==0&&y[b+14]==0&&y[b+15]==0&&y[b+16]==0&&y[b+17]==0&&y[b+18]==0&&
y[b+19]==0&&y[b+20]==0&&y[b+21]==0&&y[b+22]==0&&y[b+23]==0&&y[b+24]==0&&
y[b+25]==0&&y[b+26]==0&&y[b+27]==0&&y[b+28]==0&&y[b+29]==0&&y[b+30]==0){
n=b;
break;}
}
}
if(a!=1)
for(int b=0;b<n;b++){
y[b]=z[b];
z[b]=0;}
for(int b=0;b<m;b++){
for(int c=0;c<n;c++){
p=x[b]*y[c]+z[b+c];
z[b+c]=p%10;
z[b+c+1]=z[b+c+1]+p/10;
z[b+c+2]=z[b+c+2]+z[b+c+1]/10;
z[b+c+1]=z[b+c+1]%10;}
}
}
if(w==0) fout<<1;
else{
if(z[m+n-1]==0){
for(int a=m+n-2;a>=0;a--) fout<<z[a];}
else{
for(int a=m+n-1;a>=0;a--) fout<<z[a];}
}
return 0;
}