POJ1608 Banal Tickets

题目链接 http://poj.org/problem?id=1608

写的不太好,不过还是过了,题解过两天写,先放代码

数据地址:http://neerc.ifmo.ru/archive/2003.html 选那个Subregions Northern

请无视注释部分,那是调试代码

<pre name="code" class="cpp">#include <cstdio>
#include <cstring>
const int N=19,M=10000;
long long f[3][55][37][20][20];
bool fl=false,fr=false;
int n,ln,rn,l2,l3,l5,l7,r2,r3,r5,r7;
int n2[10]={0,0,1,0,2,0,1,0,3,0};
int n3[10]={0,0,0,1,0,0,1,0,0,2};
int n5[10]={0,0,0,0,0,1,0,0,0,0};
int n7[10]={0,0,0,0,0,0,0,1,0,0};
struct big{
	int f[20],l;
}ans,a1,b1;
void print(big a){
	for(int i=a.l-1;i>=0;i--){
		int j=M/10;
		if(i!=a.l-1)
			while(a.f[i]<j && j>1)
				j/=10,printf("0");
		printf("%d",a.f[i]);
	}
	if((a.l==1 && a.f[0]==0) || a.l<1)	printf("0");
}
long long pow(int x,int y){ 
	long long ans=1;
	for(int i=1;i<=y;i++) ans*=x;
	return ans;
}
big cmp(big a,big b){
	if(a.l>b.l)	return a;
	else if(a.l<b.l)	return b;
	for(int i=a.l-1;i>=0;i--)
		if(a.f[i]>b.f[i])	return a;
		else if(a.f[i]<b.f[i])	return b;
	return a;
}
void tran(big &a
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值