weapon制作武器
weapon制作武器 (weapon.pas/c/cpp) 解题报告
制作武器weapon.pas/c/cpp) 背景
WZland的紧急避难所很快就建好了,WZland的居民们陆续地来到这个紧急避难所。但
WZland的许多居民不肯躲避,他们想要和外星人正面作战……
问题描述
在紧急避难所内,应广大居民的要求,WZland的国王决定成立一个自卫队,自卫队由
WZOI的JHB来担任领导。
JHB成为自卫队的领导之后,他的首要任务就是制作武器。WZland盛产矿石,每一种矿
石中都含有巨大的能量。当两块矿石相结合,会有一块消失而另一块保留下来,并且会产生
巨大能量。JHB想通过吸收这些能量,制造出一种能量化的武器,这个武器的杀伤力就是产
生的能量总和。
JHB找人弄到了若干块不同的矿石(每种矿石有且只有一种),他想用这些矿石制作出杀
伤力最大的武器。他把这些矿石交给WZOI的你,然后你需要制作出他需要的武器。当然一
个武器是不够的,JHB陆续给你送来了若干组矿石,你需要将每组的矿石都制作成武器。
输入格式
输入数据第一行包含一个整数T,表示有T组矿石;
对于每组矿石会有若干行来描述。
第一行包含一个整数N,表示当前组矿石的种类。
接下来N行每行N个整数,第i行的第j个数表示矿石i和矿石j结合,然后j消失i留下产生的能
量。
输出格式
输出数据有T行,每行一个整数S,分别表示矿石造出来的武器的最大杀伤力。
样例输入输出
Sample #1
weapon.in weapon.out
1 16
3
0 10 1
11 0 3
4 5 0
Sample #2
weapon.in weapon.out
2 4
2 22
0 4
1 0
3
0 20 1
12 0 1
1 10 0
样例解释
对于Sample #2 的第二个测试点,我们可以这样制作武器:1 和2 合并留下2,获得能量
12,3 和2 合并留下3,获得能量 10,总能量为22。
数据规模
对于30 的数据,2≤N≤10,T≤10;
对于50 的数据,2≤N≤10,T≤100;
对于100 的数据,2≤N≤10,T≤500;
对于100 的数据,保证S≤Maxlongint。
时间限制
1s
刷表大法好,状压大法好。
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std ;
int t , n , links[][] , f[] ; void Init( )
{
scanf( "%d" , &n ) ;
for( int x = ; x <= n ; ++x )
for( int y = ; y <= n ; ++y )
scanf( "%d" , &links[x][y] ) ;
} void Solve( )
{
memset( f , , sizeof(f) ) ;
int ans = ;
for( int k = ; k <= ( << n ) - ; ++k )
for( int i = ; i <= n ; ++i )
for( int j = ; j <= n ; ++j )
{
if( i == j || ( k & ( <<( i - ) ) ) || ( k & ( << (j-) ) ) ) continue ;
f[k|(<<(i-))] = max( f[k|(<<(i-))] , f[k] + links[j][i] ) ;
ans = max( f[k|(<<(i-))] , ans ) ;
}
printf( "%d\n" , ans ) ;
} int main( )
{
freopen( "weapon.in" , "r" , stdin ) ;
freopen( "weapon.out" , "w" , stdout ) ;
scanf( "%d" , &t ) ;
while( t-- )
{
Init( ) ;
Solve( ) ;
}
return ;
}
weapon制作武器的更多相关文章
- Unity 武器拖尾效果
Pocket RPG Weapon Trails 武器拖尾效果 Asset Store地址:https://www.assetstore.unity3d.com/en/#!/content/2458 ...
- [Unity3D]Unity资料大全免费分享
都是网上找的连七八糟的资料了,整理好分享的,有学习资料,视频,源码,插件……等等 东西比较多,不是所有的都是你需要的,可以按 ctrl+F 来搜索你要的东西,如果有广告,不用理会,关掉就可以了,如 ...
- Unity3D插件分享
网上看到一个讲unity3D插件的,看着不错,转载过来. 本文汇总了近百个Unity3D插件,供大家参考下载. 2D_Toolkit_1.51 动画开发插件包 FingerGestures 触摸插件 ...
- Unity3D 200个插件免费分享
插件清单: 2D_Toolkit_1.51 动画开发插件包 FingerGestures 触摸插件 ORK_Okashi_RPG_Kit Unity3D角色扮演 ...
- Unity3d插件推荐
2D_Toolkit_1.51 动画开发插件包 FingerGestures 触摸插件 ORK_Okashi_RPG_Kit Unity3D角色扮演游戏开发工具包 uScript-Visual-Scr ...
- Unity项目 - DeathtrapDungeon死亡地牢
目录 游戏原型 项目演示 绘图资源 代码实现 注意事项 技术探讨 参考来源 游戏原型 死亡地牢是一款 2D-Roguelike 的地牢冒险游戏.手握利刃,斩杀怪物,在凶险的地牢内生存下去.但注意,敌人 ...
- CET4词汇
abandon vt.丢弃:放弃,抛弃 ability n.能力:能耐,本领 abnormal a.不正常的:变态的 aboard ad.在船(车)上:上船 abroad ad.(在)国外:到处 ab ...
- mud目录命令说明
目錄結構 以下列出的是 ES2 mudlib 根目錄下標準的子目錄結構,以及簡短的說明. /adm 儲存由系統管理者所管理的程式與資料檔. /std 儲存標準物件的程式碼. /obj 儲存通用物件 ...
- [Unity 设计模式]桥接模式(BridgePattern)
1.前言 继上一讲IOC模式的基础上继续本讲桥接模式,笔者感觉桥接模式是23种设计模式中桥接模式是最好用但也是最难理解的设计模式之一,23中设计模式就好武侠剧中一本武功秘籍,我们在工作过程中想要熟练运 ...
随机推荐
- 备忘·添加SublimeText3右键菜单
因为用的sublimeText3是免安装版,打开未关联文件,略有麻烦,所以搜了一下,发现几种解决办法,其中INF文件的方法很喜欢,备份下 [Version] Signature="$Wind ...
- ExtJS4.2学习(15)树形表格(转)
鸣谢:http://www.shuyangyang.com.cn/jishuliangongfang/qianduanjishu/2013-11-27/185.html --------------- ...
- 如何使一个input文本框随其中内容而变化长度(转)
第一: <input type="text" onkeydown="this.onkeyup();" onkeyup="this.size=(t ...
- .NET中的加密算法总结(自定义加密Helper类续)
1.1.1 摘要 相信许多人都使用过.NET提供的加密算法,而且在使用的过程我们必须了解每种加密算法的特点(对称或非对称,密钥长度和初始化向量等等).我也看到过很多人写过.NET中加密算法总结,但我发 ...
- [转载]MongoDB学习(二):数据类型和基本概念
数据类型 基本数据类型 MongoDB的文件存储格式为BSON,同JSON一样支持往其它文档对象和数组中再插入文档对象和数组,同时扩展了JSON的数据类型.与数据库打交道的那些应用.例如,JSON没有 ...
- How to Run Node.js with Express on Mobile Devices
We released a JXcore plugin for Apache Cordova recently and in this article I will show how to run a ...
- mysql select count(filed) 问题(where条件没有数据匹配的话也有数据返回)。
问题: SELECT count(*),user_id FROM tb_rp_logintrace WHERE id=-1 返回结果: count(*), user_id 0 ...
- 【HDOJ】1263 水果
hash,使用stl map ac.学了find_if等强大的东西,第一次使用stl模板. #include <iostream> #include <cstdio> #inc ...
- Android开发UI之自定义动画
自定义动画,需要新建一个类,继承Animation类. 重写applyTransformation()方法和initialize()方法. applyTransformation(float inte ...
- error opening registry key software/javasoft/java runtime environment
些问题是由于多个版本java相互冲突,查看环境变量,删除其中一个即可.1.把Path里的%JAVA_HOME%\bin;放到最前面就可以,解决了给分! 2.是因为文件夹“%SystemRoot%\sy ...