记录编号 249596 评测结果 WWWWWWWWWW
题目名称 [NOIP 2008]传纸条 最终得分 0
用户昵称 Gravatar安呐一条小咸鱼。 是否通过 未通过
代码语言 C++ 运行时间 0.000 s
提交时间 2016-04-13 09:09:52 内存使用 0.28 MiB
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<iostream>
#define MAXN 10000
using namespace std;
struct Bign{
	int len;
	int num[20];
};
int n;
Bign Change(int a);// Bign a1=My_Change(a);   a为int,定义的Bign a1 中的a1 是a转化为高精度的数 
Bign Add(Bign a,Bign b);//高精加 
Bign Mul(Bign a,Bign b);//高精乘 
bool Comp(Bign a,Bign b);//比较  a<b return true ; a>=b return false;
int main()
{
	freopen("message.in","r",stdin);
	freopen("message.out","w",stdout);
//	int a;
return 0;
} 
Bign Change(int a)
{
	Bign temp={0};
	while(a)
	{
		temp.num[temp.len++]=a%MAXN;
		a/=MAXN;
	}
	return temp;
}
Bign Mul(Bign a,Bign b)
{
	Bign temp={0};
	temp.len=a.len+b.len-1;
	for(int i=0;i<a.len;++i)
	{
		for(int j=0;j<b.len;++j)
		{
			temp.num[i+j]+=a.num[i]*b.num[j];
		}
	}
	for(int i=0;i<temp.len;++i)
	{
		if(temp.num[i]>MAXN)
    	{
    		temp.num[i+1]+=temp.num[i]/MAXN;
    		temp.num[i]%=MAXN;
    	}
	}
	if(temp.num[temp.len]!=0) temp.len++;
	
	return temp;
}

Bign Add(Bign a,Bign b)
{
	if(a.len<b.len) a.len=b.len;
    
    for(int i=0;i<a.len;++i) a.num[i]+=b.num[i];
    
    for(int i=0;i<a.len;++i)
    {
    	if(a.num[i]>MAXN)
    	{
    		a.num[i+1]++;
    		a.num[i]-=MAXN;
    	}
    }
    
    if(a.num[a.len]!=0) a.len++;
    
    return a;
}
bool Comp(Bign a,Bign b)
{
	if(a.len<b.len) return 1;
	if(a.len>b.len) return 0;
	
	for(int i=a.len-1;i>=0;--i)
	{
		if(a.num[i]>b.num[i]) return 0;
		if(a.num[i]<b.num[i]) return 1;
	}
	return 0;
}