比赛 |
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;
}