【HDOJ】1601 Galactic Import
Dijkstra。
/* 1601 */
#include <cstdio>
#include <cstring>
#include <cstdlib> #define INF 999999 char buf[];
int map[][];
bool visit[], valid[];
double val[];
int path[];
int n; void dijkstra() {
int i, j, k;
int min, v; memset(visit, false, sizeof(visit));
visit[] = true;
for (i=; i<; ++i)
path[i] = map[i][]; for (i=; i<; ++i) {
min = INF;
for (j=; j<; ++j) {
if (!visit[j] && path[j]<min) {
min = path[j];
v = j;
}
}
if (min == INF)
break;
visit[v] = true;
for (j=; j<; ++j) {
if (!visit[j] && path[j]>min+map[v][j]) {
path[j] = min + map[v][j];
}
}
}
} int main() {
int i, j, k, r;
double v, max;
char cmd[], line[]; #ifndef ONLINE_JUDGE
freopen("data.in", "r", stdin);
freopen("data.out", "w", stdout);
#endif while (scanf("%d",&n)!=EOF) {
for (i=; i<; ++i) {
for (j=; j<; ++j) {
map[i][j] = INF;
}
map[i][i] = ;
}
for (i=; i<n; ++i) {
scanf("%s %lf %s", cmd, &v, line);
j = cmd[] - 'A';
val[j] = v;
for (r=; line[r]; ++r) {
if (line[r] == '*')
k = ;
else
k = line[r] - 'A';
map[j][k] = map[k][j] = ;
}
}
dijkstra();
max = -;
v = ;
for (i=; i<; ++i) {
if (path[i] >= INF)
continue;
if (path[i] > ) {
j = path[i]-;
while (j--) {
val[i] *= 0.95;
}
}
if (val[i] > max) {
max = val[i];
v = i;
}
}
printf("Import from %c\n", (char)v+'A');
} return ;
}
【HDOJ】1601 Galactic Import的更多相关文章
- 【12】link与@import的区别
[12]link与@import的区别 link是HTML方式, @import是CSS方式 link最大限度支持并行下载,@import过多嵌套导致串行下载,出现FOUC link可以通过rel=& ...
- 【BZOJ】1601: [Usaco2008 Oct]灌水
[算法]最小生成树 [题解] 想到网络流,但是好像不能处理流量和费用的关系. 想到最短路,但好像不能处理重复选边的问题. 每条边只需要选一次,每个点就要遍历到,可以想到最小生成树. 建超级源向每个点连 ...
- 【HDOJ】4729 An Easy Problem for Elfness
其实是求树上的路径间的数据第K大的题目.果断主席树 + LCA.初始流量是这条路径上的最小值.若a<=b,显然直接为s->t建立pipe可以使流量最优:否则,对[0, 10**4]二分得到 ...
- 【HDOJ】5632 Rikka with Array
1. 题目描述$A[i]$表示二级制表示的$i$的数字之和.求$1 \le i < j \le n$并且$A[i]>A[j]$的$(i,j)$的总对数. 2. 基本思路$n \le 10^ ...
- 【HDOJ】4579 Random Walk
1. 题目描述一个人沿着一条长度为n个链行走,给出了每秒钟由i到j的概率($i,j \in [1,n]$).求从1开始走到n个时间的期望. 2. 基本思路显然是个DP.公式推导也相当容易.不妨设$dp ...
- 【HDOJ】4418 Time travel
1. 题目描述K沿着$0,1,2,\cdots,n-1,n-2,n-3,\cdots,1,$的循环节不断地访问$[0, n-1]$个时光结点.某时刻,时光机故障,这导致K必须持续访问时间结点.故障发生 ...
- 【HDOJ】4305 Lightning
1. 题目描述当一个结点lightning后,可以向其周围距离小于等于R的结点传播lightning.然后以该结点为中心继续传播.以此类推,问最终形成的树形结构有多少个. 2. 基本思路生成树级数模板 ...
- 【HDOJ】4373 Mysterious For
1. 题目描述有两种不同类型的循环,并给出一个由1.2组成的序列,表示嵌套的循环类型.问这样组着的循环一共需要多少次循环?并将结果模364875103. 2.基本思路显然,每当遇到一个类型1的序列,即 ...
- 【HDOJ】1667 The Rotation Game
1. 题目描述有个#字型的条带,可以从横线或竖线进行循环移动,求通过各种移动最终使中心的8个字符全等的长度最短并相同长度字典序最小的操作序列.2. 基本思路24个数据,8种移动方式,数据量很小了,所以 ...
随机推荐
- hibernate通过判断参数动态组合Hql语句,生成基本通用查询
// public List find(Station entity) { List reuslt = null; // 字符串辅助类 StringBuffer hql = new StringBuf ...
- mac 下安装安卓模拟器
mac下的安卓模拟器——bluestacks 下载:http://pan.baidu.com/s/1kVvZyYz 该安卓模拟器除了能网络下载apk,本地还能安装apk,但是与win版不同,安装不是那 ...
- Zend Server安装后首次运行就出现Internal Server Error的解决
无论是使用哪个版本的Zend Server来搭建PHP服务器,首次运行都会出现Internal Server Error的错误,对很多新手而言,每当看到这种错误时,那一刻内心绝对都是崩溃的.然而,这个 ...
- 什么是DOM
什么DOM,简单的说.DOM是一套对文档的内容进行抽象和概念化的方法. 在现实世界里,人们对所谓的“世界对象模型”都不会陌生.例如,当用“汽车”.房子 和树等名词
- js对象字符串互转
利用原生JSON对象,将对象转为字符串 var jsObj = {}; jsObj.testArray = [1,2,3,4,5]; jsObj.name = 'CSS3'; jsObj.date = ...
- OC - 31.通过封装的自定义布局快速实现商品展示
概述 实现效果 设计思路 采用MVC架构,即模型—视图-控制器架构 使用MJExtension框架实现字典转模型 使用MJRefresh框架实现上拉和下拉刷新 上拉刷新,加载新的数据 下拉刷新,加载更 ...
- Xaml中的资源(1 样式)
<Window x:Class="MyResoures.MainWindow" xmlns="http://schemas.microsoft.com/winfx/ ...
- 十四、C# 支持标准查询运算符的集合接口
支持标准查询运算符的集合接口. System.Linq.Enumeralbe类提供的一些常用的API 来执行集合处理 1.匿名类型 2.隐匿类型的局部变量 3.集合初始化器 4.集合 5.标准查询运算 ...
- 基于CDH5.x 下面使用eclipse 操作hive 。使用java通过jdbc连接HIVESERVICE 创建表
基于CDH5.x 下面使用eclipse 操作hive .使用java通过jdbc连接HIVESERVICE 创建表 import java.sql.Connection; import java.s ...
- OpenCV中Mat的详解
每次碰到Mat都得反复查具体的用法,网上的基础讲解不多,难得看到一篇,赶快转来收藏~ 原文地址:http://www.opencvchina.com/thread-1039-1-1.html 目标 我 ...