`
nubix
  • 浏览: 91112 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

zju 1520 Duty Free Shop

阅读更多

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1520

 

DP题。

 

这题的意思就是找一个最接近M的解,然后将其余部分与L对比。

 

由于,M,L均小于1000,且n<M+L < 2000 , 所以直接用数组不会有任何问题。

 

不过,我在做的时候偷懒了,在DP以及输出结果的时候,用了一些低效率的做法

 

 

 

#include <cstdio>
#include <algorithm>
using namespace std;

int c[1001];
int p[2001];
int s[2001];


int sum;
int main(){
	int M,L,n,v;
	while(scanf("%d%d",&M,&L) == 2 ){

		if(M == 0 && L == 0)
			break;

		sum  =0;

		for(int i=0;i<=M;i++) c[i] = 0;
		c[0] = 1;

		scanf("%d",&n);
		for(int i=1;i<=n;i++){
			scanf("%d",&v);
			p[i] = v;
			sum += v;
			for(int j=M-v;j>=0;j--)if(c[j] && c[j+v] == 0) c[j+v] = i;
			//printf("\n");
		}

		for(v = M;v>0 && c[v] == 0;v--);

		if(sum - v > L){
			printf("Impossible to distribute\n");
		}else{
			int i=0;
			//p[s[v]]
			while(v>0){
				s[i++] = c[v];
				v = v - p[c[v]];
			}
			sort(s,s+i);
			printf("%d",i);
			for(int j=0;j<i;j++)
				printf(" %d",s[j]);
			printf("\n");
		}

	}
	return 0;
}
 

分享到:
评论

相关推荐

    zju1001-1399的数据

    标题“zju1001-1399的数据”暗示了这是一系列与浙江大学(Zhejiang University,简称ZJU)相关的编程题目或测试数据。这些数据可能被用于计算机科学竞赛、在线判题系统(如POJ、ZOJ等)或者是浙江大学计算机课程的...

    zju.rar_ZJU_zju.rar_zju2104.cpp

    【标题】"zju.rar_ZJU_zju.rar_zju2104.cpp" 提供的信息显示,这可能是一个与浙江大学(Zhejiang University,简称ZJU)相关的编程资源包。"zju2104.cpp" 文件名暗示这可能是针对浙大某次课程或竞赛的C++代码,编号...

    zju.rar_zju 31_zju2104.cpp

    【标题】"zju.rar_zju 31_zju2104.cpp" 指的是一个压缩包文件,其中包含了解决浙江大学(zju.edu.cn)在线编程平台上的问题的C++源代码。这个文件可能是一个参赛者或学习者提交的解决方案,用于处理特定的算法或编程...

    zju1025.rar_ZJU_acm zju 10_pid_sticks_zju 1025

    【标题】"ZJU1025 Wooden Sticks" 是浙江大学(Zhejiang University,简称ZJU)在线编程竞赛平台ACM上的一道题目,编号为1025。这道题目主要考察参赛者的算法设计和实现能力,属于计算机科学中的经典问题。 【描述...

    ZJU OS slide 2

    根据提供的文件信息,这份文档是浙江大学操作系统课程的讲义,属于第2章的内容,教材则是被称为“操作系统的恐龙书”的资料。该讲义涉及的主题包括操作系统服务、用户操作系统界面、系统调用、系统程序、操作系统...

    zju700代码 浙大oj代码

    【标题】"zju700代码 浙大oj代码" 涉及的主要知识点是浙江大学(Zhejiang University,简称ZJU)在线评测系统ZOJ(Zhejiang Online Judge)中的编程题目解决方案。ZOJ是为ACM/ICPC(国际大学生程序设计竞赛)训练而...

    acm新手必备 浙大acm解答 代码库 zoj zju

    【标题】"acm新手必备 浙大acm解答 代码库 zoj zju" 提供的信息表明,这个压缩包包含的是ACM竞赛相关的代码,主要来自浙江大学(Zhejiang University,简称ZJU)的在线算法竞赛平台ZOJ(Zhejiang Online Judge)。...

    zju电机学作业.pdf

    zju电机学作业.pdf

    acm zju 额度cn

    acm zju 额度cnacm zju 额度cnacm zju 额度cnacm zju 额度cnacm zju 额度cn

    zju1048.rar_acm.zju.edu._pid_show_zju acm

    【标题】"zju1048.rar_acm.zju.edu._pid_show_zju acm" 指向的是一个与浙江大学(Zhejiang University,简称ZJU) ACM竞赛相关的压缩文件,其中包含了对问题1048 "Financial Management"的解答。"acm.zju.edu." 和 ...

    ZJU/zoj 题库上的部分题源码

    【标题】"ZJU/zoj 题库上的部分题源码"涉及的知识点主要集中在ACM(国际大学生程序设计竞赛)编程领域,尤其是浙江大学(ZJU)ZOJ(Zhejiang University Online Judge)题库中的题目解决方案。ZOJ是一个在线编程评测...

    zju部分 解题报告zju部分 解题报告

    【标题】:“浙江大学(ZJU)编程竞赛解题报告” 【内容】: 浙江大学(ZJU)在编程竞赛领域有着丰富的活动,这些比赛通常包括ACM/ICPC(国际大学生程序设计竞赛)、ZOJ(浙大在线评测系统)等平台上的题目。解题...

    QSCTech#zju-icicles#考点1

    2、课后作业题6.8 3、Minimax 给一个只有叶子节点值的图 叉掉α-β pruning 4、贝叶斯网络 5、Markov Network 给一个Mark

    Leader统帅BCD-411WLLF4D5ZJU1冰箱说明书.pdf

    在此,我们将深入探讨Leader统帅BCD-411WLLF4D5ZJU1冰箱说明书中的重点内容,为用户全面了解和正确使用这款冰箱提供详细的指导。 首先,Leader统帅BCD-411WLLF4D5ZJU1冰箱是一款家用电冰箱,它被设计成可以适应多种...

    zoj 1140-zju 2433 简单题的部分答案

    标题 "zoj 1140-zju 2433 简单题的部分答案" 暗示了这是一个关于编程竞赛题目的解答集合,其中涵盖了ZOJ(浙江大学在线评测系统)上的两道题目——ZOJ 1140 和 ZJU 2433。这些题目可能属于算法或数据结构的范畴,...

    acm ZJU分类

    - **1520 Duty Free Shop**: 动态规划解决购物问题。 - **1524 Supermarket**: 应用图论中的最短路径算法,例如Dijkstra算法。 - **1301 The New Villa**: 基于空间规划的贪心策略。 - **1303 Jury Compromise**: ...

    zju 1642 Match for Bonus DP

    zju 1642 Match for Bonus DP,滚存??zju 1642 Match for Bonus DP,滚存??zju 1642 Match for Bonus DP,滚存??zju 1642 Match for Bonus DP,滚存??zju 1642 Match for Bonus DP,滚存??

    ZJU_数据库原理大程——图书管理系统

    《ZJU数据库原理大程——图书管理系统》是浙江大学数据库原理课程的一个实践项目,旨在让学生深入理解数据库在实际应用中的工作原理,特别是如何利用数据库技术构建一个完整的图书管理系统。在这个项目中,学生需要...

    zju题目与解答集合

    zju题目与解答集合,学习ACM编程不可多得的好东西。

Global site tag (gtag.js) - Google Analytics