文章

60

粉丝

361

获赞

43

访问

522.1k

头像
简洁
P1820 华南理工大学机试题
发布于2021年1月31日 15:59
阅读数 8.8k

#include<cstdio>
#include <vector>
#include <string>
#include <string.h>
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=2000+5;
const int INF=9999;
int a[maxn];
int d[11];
int main()
{
	int m,k;
	while(cin>>m)
	{
		if(m==0)break;
		cin>>k;
		for(int i=0;i<k;i++)
			cin>>d[i];
		fill(a,a+maxn,INF);
		a[0]=0;
		for(int i=0;i<=m;i++)
		{
			for(int j=0;j<k;j++)
			{
				if(i>=d[j])
					a[i]=min(a[i],a[i-d[j]]+1);
			}
		}
		if(a[m]==INF)
			cout<<"Impossible"<<endl;
		else 
			cout<<a[m]<<endl;
	}
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发