南邮 OJ 1053 恶魔城
来源:互联网 发布:nosql与mysql的区别 编辑:程序博客网 时间:2024/06/07 00:53
恶魔城
时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte
总提交 : 317 测试通过 : 68
总提交 : 317 测试通过 : 68
比赛描述
上帝需要创造一位战士去消灭撒旦,这位战士必须要穿过恶魔城才能与撒旦决斗。恶魔城内有M条连接N个路口(从1到N编号)的街道,每一条街道都是单向的(也就是说你不能逆着该街道指定的方向走),并且在城内无论怎么走都不可能走回原来走过的地方。开始的时候,战士的生命力(HP)为INITHP、站在1号路口,而撒旦在第N号路口等待着他。每一条街道上都有许多魔鬼,但是也有一些街道已经被上帝派去的天使占领了。当战士经过连接i号向j号路口的街道时,如果占领该街道的是恶魔,那么他的HP先加倍然后减少L[i,j],我们记为A[i,j]=-L[i,j];如果占领该街道的是天使,那么他的HP就会先加倍然后增加L[i,j],我们记为A[i,j]=+L[i,j];如果该街道不存在,那么A[i,j]=0。如果某一时刻战士的HP<=0,那么他会死亡。因为这个战士将非常无敌,当他见到撒旦的时候只要还活着,就能一口气把撒旦消灭,所以上帝不希望让他的INITHP过高。
你的任务:给定N,A[1..N,1..N],求最小的INITHP,使这个战士能够活着见到撒旦。
你的任务:给定N,A[1..N,1..N],求最小的INITHP,使这个战士能够活着见到撒旦。
输入
文件第一行有一个正整数N(3 ≤ N ≤ 100),下面跟着的第i行第j个数为A[i,j](绝对值不超过10000的整数)。
输出
输出所求最小的INITHP。
样例输入
4
0 -4 0 -10
0 0 +3 0
0 0 0 -14
0 0 0 0
样例输出
4
题目来源
wwm
#include<stdio.h>#define MAX_P 100int a[MAX_P][MAX_P];bool visited[MAX_P];bool canKillSatan(int n, int pos, int hp){if(hp<=0){//一开始是0的话也会死return 0;}if(pos==n-1 || hp>10000){//a[pos][i]<10000,hp>=10000,那么hp*2+a[pos][i]肯定大于0return 1;}visited[pos]=1;for(int i=0; i<n; i++){if(a[pos][i]!=0 && !visited[i] && canKillSatan(n,i,hp*2+a[pos][i])){return 1;}}visited[pos]=0;return 0;}int getMinHP(int n){int low=0, high=10000,mid;while(low<high){mid = (low+high)>>1;for(int i=0; i<n; i++){visited[i] = 0;}if(canKillSatan(n,0,mid)){high = mid;}else{low = mid+1;}}return low;}int main(){int i,j,n;scanf("%d",&n);for(i=0; i<n; i++){for(j=0; j<n; j++){scanf("%d",&a[i][j]);}}printf("%d\n",getMinHP(n));}
0 0
- 南邮 OJ 1053 恶魔城
- 恶魔城
- 恶魔城 acm
- [最短路] 恶魔城 (satanic)
- SSL P1128 恶魔城
- 8.16 恶魔城 1128
- NOJ1053 恶魔城 dfs+二分求解
- 【记忆化】恶魔城(satanic.pas/c/cpp)
- NOJ1053恶魔城——DFS+二分查找
- 几道记忆化搜索专题(ackerman 滑雪 恶魔城)
- 【九度OJ】:九度OJ 1053
- 九度oj 1053
- FJNU OJ 1053
- FJNU OJ 1053
- 南邮OJ B题
- 南邮OJ C题
- 南邮OJ D题
- 南邮oj题型
- iOS 屏幕适配,autoResizing autoLayout和sizeClass图文详解
- 【ES6系列】ES6简介
- Unable to convert data to string around character 11.
- 代码生成器:Java自动生成service,serviceImpl及action
- 使用POI在线预览Word
- 南邮 OJ 1053 恶魔城
- java单分派与多分派(多路分发和单路分发)
- Android仿qq聊天记录长按删除功能效果
- linux系统644、755、777权限详解
- HDU 3473 Minimum Sum (划分树)
- php关于url、文件、目录、ip的相关问题汇总
- C#泛型集合
- python3入门之赋值语句介绍
- 南邮 OJ 1054 回文回文!