喜欢玩warcraft的ltl

喜欢玩warcraft的ltl

时间限制:2000 ms  |  内存限制:65535 KB
难度:3
描写叙述

ltl 很喜欢玩warcraft。由于warcraft十分讲究团队总体实力,而他自己如今也为升级而不拖累团队而努力。

他如今有非常多个地点来选择去刷怪升级,可是在每个地点他都要买上充足的补给和合适的道具。以免在刷怪的时候被怪物反杀了。每个地点的怪物打完了就没有了(还竟然不掉金钱跟装备),并且他仅仅要选定了地点就一定会刷完该地点所有的怪物,同一时候获得相应的经验值。如今ltl 能给出每个地点用来买补给和道具的钱和打完所有怪物所能获得的经验。可是他所拥有的钱是一定的。

所以他想知道怎么选择地点使得他获得的经验最高。

输入
第一行一个整数T,表示測试数据的组数 0<T<=10
第二行两个整数N,M,0<N<=100,0<M<=1000000表示ltl拥有N个不同地点的选择和M的金钱总数
接下来N行每行两个整数ci,vi,(0<ci<=1000000,0<vi<=2000)表示ltl刷完第i个地点所须要购买补给和道具的总钱数和能获取的总经验值
输出
一行一个整数。表示ltl可以获取的最大的经验值
例子输入
2
3 10
7 7
2 3
3 5
2 5
3 5
2 1
例子输出
Max experience: 12
Max experience: 6
读完题,立刻断定01背包问题。然后直接写代码,不幸的是,TLE不期而至!

超时代码:
#include<stdio.h>
struct node
{
	int c;
	int w;
}num[105];
int dp[1000005];
int Max(int a,int b)
{
	return a>b?

a:b; } int main() { int T,n,m; int i,j; scanf("%d",&T); while(T--) { scanf("%d%d",&n,&m); for(i=0;i<n;i++) { scanf("%d%d",&num[i].c,&num[i].w); } for(i=0;i<n;i++) { for(j=m;j>=num[i].c;j--) { dp[j]=Max(dp[j],dp[j-num[i].c]+num[i].w); } } printf("Max experience: %d\n",dp[m]); } return 0; }


下面为优化代码:
#include<stdio.h>
struct node
{
	int c;
	int w;
}num[105];
int dp[1000005];
int Max(int a,int b)
{
	return a>b?a:b;
}
int main()
{
	int T,n,m;
	int i,j,s,count;
	scanf("%d",&T);
	while(T--)
	{
		scanf("%d%d",&n,&m);
		s=0;
		for(i=0;i<n;i++)
		{
			scanf("%d%d",&num[i].c,&num[i].w);
			s+=num[i].c;
		}
		for(i=0;i<=m;i++)
			dp[i]=0;
		for(i=0;i<n;i++)
		{
			s-=num[i].c;
			count=Max(m-s,num[i].c);
			for(j=m;j>=count;j--)
			{
				dp[j]=Max(dp[j],dp[j-num[i].c]+num[i].w);
			}
		}
		printf("Max experience: %d\n",dp[m]);
	}
	return 0;
}

转载于:https://www.cnblogs.com/gccbuaa/p/6858647.html

Advanced WarCraft 3 Configurator (AWC) 是一款功能强大的,操作简便的工具,你可以按自己喜好来配置WAR3。它还可以帮你改变一些原来游戏本身不允许修改的地方。不用说,它根本不会使你的电脑受损,只会使你的WAR3经历更有趣!<br><br>  如果你的电脑性能不是很好,不能支持一般配置的话,那你肯定是需要AWC的了,因为它可以使你的游戏性能提高很多---通过隐藏一些游戏主题并不太需要的图象性能。如果你已经重装系统了,又要从Battle.net下载新的补丁,那你现在可以不用为这些而烦恼了,因为它可以在游戏第一次运行后在注册表重建所有项值。AWC也可以和WAR3中的.w3g文件相关联,所以当你想要看WAR3 的REPLAYS时就只要双击它就可以了。它也能在许多著名的REPLAY 播放器(如W3gMaster, Replay ToolKit)的主界面中加入了View Replay这个功能。<br><br><br>  这只是要介绍的一方面,你可以登陆这个工具的官方站点(由俄罗斯制作)来查看具体功能。下面是部分功能介绍:<br><br>  界面功能:<br>---友好的用户界面;<br>---5种语言界面:英语,俄语,德语,西班牙语,法语;<br><br>  WAR3操作功能:<br>---详细的地图编辑;<br>---WAR3修改工具;<br>---OpenGL模式(在一些电脑上增加别的模式);<br>---图象比例调整;<br>---皮肤颜色的选择;<br>---多种语言选择;<br>---提示优化技巧和帮助;<br>---包含PING探测功能的网关编辑器<br>---支持xp风格<br>---热键编辑;<br>---缓冲大小设置;<br>---能从任何windows窗口(i.e. Explorer)如双击replay文件;<br>---可将配置存储为*.reg文件,当然也可以导入;<br>---CD-Key生成器(ROC/TFT兼容);<br>---还有很多;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值