Problem Description
小s想要创造n种魔法宝石。小s可以用ai的魔力值创造一棵第i种魔法宝石,或是使用两个宝石合成另一种宝石(不消耗魔力值)。请你帮小s算出合成某种宝石的所需的最小花费。
Input
第一行为数据组数T(1≤T≤3)。
对于每组数据,首先一行为n,m(1≤n,m≤10^5)。分别表示魔法宝石种类数和合成魔法的数量。
之后一行n个数表示a1到an。(1≤ai≤10^9)。ai表示合成第i种宝石所需的魔力值。
之后m行,每行三个数a,b,c(1≤a,b,c≤n),表示一个第a种宝石和第b种宝石,可以合成一个第c种宝石。
Output
每组数据输出一行n个数,其中第i个数表示合成第i种宝石的魔力值最小花费。
Sample Input
1 3 1 1 1 10 1 2 3
Sample Output
1 1 2
1、使用结构体去保存宝石变化的情况
2、while(1)一直循环找到每个宝石的最小费用后跳出
#include<bits/stdc++.h>
using namespace std;
struct node
{
int x,y,z;
}b[100000+5];
int main()
{ int a[100000+5]; int i,j; int t;cin>>t;bool cnt; while(t--){int n,m;cin>>n>>m;for(i=1;i<=n;i++) cin>>a[i];for(i=1;i<=m;i++)cin>>b[i].x>>b[i].y>>b[i].z;while(1){cnt=false;for(i=1;i<=m;i++){ if(a[b[i].x]+a[b[i].y]<a[b[i].z]){ a[b[i].z]=a[b[i].x]+a[b[i].y];cnt=true; } } if(!cnt)break;}cout<<a[1]; for(i=2;i<=n;i++){ cout<<" "<<a[i];} cout<<endl; }    return 0;
}

  

转载于:https://www.cnblogs.com/Scalpel-cold/p/7127995.html

杭电2017单人排位赛2-B魔法宝石相关推荐

  1. 2017河南工业大学校赛 C 魔法宝石

    问题 C: 魔法宝石 题目描述 小s想要创造n种魔法宝石.小s可以用ai的魔力值创造一棵第i种魔法宝石,或是使用两个宝石合成另一种宝石(不消耗魔力值).请你帮小s算出合成某种宝石的所需的最小花费. 输 ...

  2. 杭电2017新生赛1005-整数的Alvin值

    整数的Alvin值 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  3. 魔法宝石(类似dp 杭电排位赛-2)

    魔法宝石 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submi ...

  4. C++描述杭电OJ 2017.字符串统计||

    C++描述杭电OJ 2017.字符串统计|| Problem Description 对于给定的一个字符串,统计其中数字字符出现的次数. Input 输入数据有多行,第一行是一个整数n,表示测试实例的 ...

  5. 杭电多校联赛2017年总结

    杭电多校联赛2017年总结   时间确实过得挺快,一个月很快结束,说实在的,一个月了,每次比赛都是混两道签到题,然后就开始挂机了,确实很不甘心,看着联赛的排名,确实感觉,和强校之前的差距还是很大的,P ...

  6. 杭电acm第2304题答案c语言,【转】杭电ACM试题分类

    注:网上搜的 第一篇 1001 这个就不用说了吧 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 1005 找规律(循环点) 1006 感觉有点BT的题,我到现在还没过 ...

  7. 杭电1260java实现

    题目链接 这题的核心状态转移方程是:dp[j]=min(dp[j-1] dan[j],dp[j-2] shuang[j-1]);dan[i]表示第i个人的单票,shuang[i]代表i-1和i两个人的 ...

  8. 南邮计算机科学与技术PK杭电,被985录取,却后悔没去杭电南邮,双非热门专业真的这么吃香吗?...

    原标题:被985录取,却后悔没去杭电南邮,双非热门专业真的这么吃香吗? 一网友是山东考生,原本想去杭电南邮学计算机,没想到被中国海洋大学的港口航道与海岸工程录取了!家人都没听说过这个专业,自己也很后悔 ...

  9. 杭电acm2151题java的解法,杭电ACM题型分类

    杭电ACM题型分类 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029.1032.1037.1040.1048.1 ...

最新文章

  1. 橘子CPS联盟3.0版本升级手册
  2. 硬核!如何模拟 5w+ 的并发用户?
  3. spring 注解上传文件 @RequestParam,FormData上传文件
  4. YbtOJ#20237-[冲刺NOIP2020模拟赛Day10]区间均值【树状数组】
  5. 【计算机网络】手动配置hosts文件解决使用GitHub和Coursera网站加载慢/卡的问题
  6. rhel5 给grub 加密,亲测!
  7. matlab实验题目,MATLAB实验题目
  8. Bootstrap使用后笔记
  9. SAP-R3被取代,苏宁采购平台的升级和架构演进之路
  10. SpringCloud学习笔记001-SpringCloud_001_SpringCloud简介_单体架构_微服务架构_服务注册与发现_微服务调用关系
  11. 从工作到创业迈开这一步很艰难吗
  12. clickhouse数据字典
  13. 华泰证券:如何自研高效可靠的交易系统通信框架?
  14. HDU1598 find the most comfortable road【枚举+并查集+最大生成树】
  15. Linux命令九---Linux进程管理命令---ps-kill-nohup-jobs-fg-bg-top等
  16. 概率论——伯努利和二项随机变量
  17. Mac系统的操作教程
  18. 推荐系列:易文档,让接口文档更加给力
  19. Android 在mac上显示手机屏幕 MAC 投影 安卓手机
  20. 泊松过程1 | 定义与基本性质

热门文章

  1. 【小程序】滚动的公告栏
  2. 今日头条李航:深度学习NLP的现有优势与未来挑战
  3. ipad4、ipad3与微信等版本过高的软件不兼容解决办法
  4. java mysql 生僻字_mysql/Java服务端对emoji或者生僻字的支持
  5. 鸿蒙系统 github,鸿蒙2.0系统github源码版
  6. Google优化排名方法
  7. Android监控电池电量和充电状态
  8. 为什么大家都不喜欢用国产科研仪器?
  9. java scp 传文件乱码_转-linux 打开移动硬盘中的文本文件显示为乱码
  10. oracle语句中dual什么意思,oracle中dual详解