记录编号 110662 评测结果 AAAAAAAAAAAAAA
题目名称 [暑假培训2012] 残酷的数学老师 最终得分 100
用户昵称 Gravatarwolf 是否通过 通过
代码语言 C++ 运行时间 0.874 s
提交时间 2014-07-12 10:04:55 内存使用 0.32 MiB
显示代码纯文本
#include<iostream>
#include<vector>
#include<cstdio>
#include<fstream>
using namespace std;
FILE *in,*out;
vector<int> source;
vector<int> end;
void core(){
	vector<int> number;
	number.resize(source.size()+end.size(),0);
	for(int i=0;i!=source.size();++i){
		for(int k=0;k!=end.size();++k){
			number[i+k]+=source[i]*end[k];
		}
	}
	end=number;
}
void work(){
	for(int i=0;i!=end.size();++i){
		int e=end[i];
		end[i]=e%10;
		if(e>9){
			if(end.size()==i+1)
				end.push_back(0);
			end[i+1]+=e/10;
		}
	}
}
int main(){
	in=fopen("cruel1.in","r");
	out=fopen("cruel1.out","w");
	//ifstream AA("cruel1.in");
	//ofstream BB("cruel1.out");
	long long N;int P;
	fscanf(in,"%lld %d",&N,&P);
	//AA>>N>>P;
	for(;N>0;){
		source.push_back(N%10);
		N=N/10;
	}
	end=source;
	for(int i=1;i!=P;++i){
		core();
		work();
		for(int i=end.size()-1;i>-1;--i){
			if(end[i]==0)
				end.pop_back();
			else
				break;
		}
	}
	int t=end.size()%70;
	bool off=0;
	for(int i=end.size()-1;i>-1;--i){
		if((i-t+1)%70==0&&off){
			//BB<<endl;
			fprintf(out,"\n");
		}else{
			off=1;
		}
		//BB<<end[i];
		fprintf(out,"%d",end[i]);
	}
	//BB<<endl;
	fprintf(out,"\n");
	return 0;
}
//desgined by wolf