比赛 20121108 评测结果 WWAAAWAAAA
题目名称 造房子的学问 最终得分 70
用户昵称 fflyt 运行时间 0.161 s
代码语言 C++ 内存使用 3.21 MiB
提交时间 2012-11-08 09:26:05
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;

int n,m,l1,l2,l3,ll;
bool ck[2][33000],flag;

int main()
{
	freopen("wood.in","r",stdin);
	freopen("wood.out","w",stdout);
	
	cin>>n>>m;
	cin>>l1>>l2>>l3>>ll;
	
	ck[flag][n]=1;
	for(int t=1;t<1000;t++){
		for(int i=(n+32760)/2;i>0;i--)if(ck[flag][i]){
			ck[!flag][i+l1]=1;
			ck[!flag][i+l2]=1;
			ck[!flag][i+l3]=1;
			if(i/2>0)ck[!flag][i/2]=1;
			if(i-ll>0){
				ck[!flag][i-ll]=1;
				ck[!flag][ll]=1;
			}
			ck[flag][i]=0;
		}
		flag=!flag;
		if(ck[flag][m]){cout<<t<<endl;return 0;}
	}
	cout<<"No solution."<<endl;
	
	return 0;
}