月亮之眼_KEY
【问题描述】
吉儿是一家古董店的老板娘,由于她经营有道,小店开得红红火火。昨天,吉儿无意之中得到了散落民间几百年的珍宝——月亮之眼。吉儿深知“月亮之眼”价值连城:它是由许多珍珠相连而成的,工匠们用金线连接珍珠,每根金线连接两个珍珠;同时又对每根金线染上两种颜色,一半染成银白色,一半染成黛黑色。由于吉儿自小熟读古籍,所以还晓得“月亮之眼”的神秘传说: “月亮之眼”原是一个古代寺庙的宝物,原本是挂在佛堂的一根顶梁柱上的,整个宝物垂直悬挂,所有珍珠排成一线,且都镶嵌在柱子里,而每一根金线又都是绷紧的,并且金线的银白色一端始终在黛黑色一端的上方;然而,在一个月圆之夜, “月亮之眼”突然从柱里飞出,掉落下来,宝物本身完好无损,只是僧侣们再也无法以原样把“月亮之眼”嵌入柱子中了。吉儿望着这个神秘的宝物,回忆着童年读到的传说,顿时萌发出恢复“月亮之眼”的冲动,但是摆弄了几天依旧没有成功。为了把“月亮之眼”还原,吉尔拜访了 P 个僧侣,每个僧侣根据自己的回忆告诉给了一些有关的信息,主要是描述某两个珍珠之间的距离。
例如根据回忆,1 号珍珠到 5 号珍珠的距离是 10,其中 1 号这头是银白色金线,5 号这头是黛黑色金线。你要设计一个程序,对于给定的“月亮之眼”进行周密分析,然后给出这串宝物几百年前嵌在佛堂顶梁柱上的排列模样(各个珍珠在顶梁柱上的位置),珍珠的大小忽略不计。
【输入格式】
第一行有两个整数 N 和 P, 其中 N 表示宝物中的珍珠个数, P 表示有 P 个僧侣的句子,对金线的一些描述;
以下 P 行描述珍珠连接情况:第 i+1 行有三个整数,Ri1,Ri2,Li。其中 Ri1 表示第 i 根金线的银白色一端连接的珍珠序号;Ri2 表示第 i 根金线的黛黑色一端连接的珍珠序号;Li 表示第 i 根金线的长度。
【输出格式】
输出文件共 N 行:
第 i 行一个整数 S,它表示标号为 i 的珍珠在顶梁柱上距离最高位置珍珠的距离。
若无解则输出仅一行,包含一个整数“-1” 。
【输入样例】
9 9
1 2 3
2 3 5
2 7 1
4 5 4
5 6 1
5 9 1
6 7 1
7 8 3
9 8 4
【输出样例】
2
5
10
0
4
5
6
9
5
【样例解释】
最上面的是 4 号,它距离自己的距离是 0;其次是 1 号,它距离 4 号的距离是 2;再其次是 5 号,它距离 4 号的距离是 4…
【数据规模】
对于 30%的数据: 1≤N≤50;1≤P≤100;
对于 50%的数据: 1≤N≤100;1≤P≤150;
对于 100%的数据:1≤N≤250;1≤P≤250;1≤Ri1,Ri2≤N;1≤Li≤N;
把每个点之间的距离x到y赋值为c,y到x赋值为-c,做floyed。
另外加各种特判-1.
code:
#include <bits/stdc++.h>
#define mx 1061109567
using namespace std;
int f[][],n,m;
int main(){
scanf("%d%d",&n,&m);
memset(f,,sizeof(f));
for(int i=;i<=m;i++){
int x,y,c;
scanf("%d%d%d",&x,&y,&c);
if(f[x][y]!=mx&&f[x][y]!=-c ||f[y][x]!=mx&&f[y][x]!=c){printf("-1");return ;}\\判断是否有重边或相反边
f[x][y]=-c;
f[y][x]=c;
}
for(int k=;k<=n;k++)
for(int i=;i<=n;i++)if(i!=k)
for(int j=;j<=n;j++)if(i!=j&&j!=k)
f[i][j]=min(f[i][j],f[i][k]+f[k][j]);int w=;
for(int i=;i<=n;i++){
int o=;
for(int j=;j<=n;j++){
if(i==j)continue;
if(f[i][j]<)o++;
}
if(o==n-&&w!=){printf("-1");return ;}\\点未统计完输出-
if(o==n-){w=i;}
}
if(w==){printf("-1");return ;}\\没找到起始点,输出-
for(int i=;i<=n;i++){
if(i==w)printf("0\n");
else printf("%d\n",-f[w][i]);
}
}
月亮之眼_KEY的更多相关文章
- Vijos:P1540月亮之眼
描述 吉儿是一家古董店的老板娘,由于她经营有道,小店开得红红火火.昨天,吉儿无意之中得到了散落民间几百年的珍宝—月亮之眼.吉儿深知“月亮之眼”价值连城:它是由许多珍珠相连而成的,工匠们用金线连接珍珠, ...
- 【CTSC1999】【带权并查集 】月亮之眼
Description 吉儿是一家古董店的老板娘,由于她经营有道,小店开得红红火火.昨天,吉儿无意之中得到了散落民间几百年的珍宝-月亮之眼.吉儿深知"月亮之眼"价值连城:它是由许多 ...
- VIJOS P1540 月亮之眼
[题目大意] 有多个珠子,给出部分珠子之间的相对上下位置和间距,问你这些珠子在满足给出的条件下,是否能把珠子排列在一条竖直直线上,如果能,求出每个珠子距离最高的珠子的距离,珠子的位置可重叠. [分析] ...
- 考前停课集训 Day4 雷
Day 4 今天Rating掉了两百多 为什么呢 因为是真实力打的 倒数第三 没什么好说的了 这才是我的真实水平 强的人一如既往强 作弊的人一落千丈. 只有我.是的,只有我. 被老师嘲讽了,哎,您真的 ...
- 2018-11-1 NOIP 模拟赛解题报告
T1 Domino 多米诺骨牌 题目大意 给你N个骨牌,上下各有一个数,要使上面一排的和为偶数,同时下面一排的和也为偶数,最多要翻转多少次?如果无法达成那么输出-1. 解法 水题秒切 根据数的奇偶性质 ...
- Day4-T3
原题目 吉儿是一家古董店的老板娘,由于她经营有道,小店开得红红火火.昨天,吉儿无意之中得到了散 落民间几百年的珍宝——月亮之眼.吉儿深知“月亮之眼”价值连城:它是由许多珍珠相连而成的,工 匠们用金线连 ...
- canvas流星月亮星星银河
这是页面的特效,首先月亮直接出现,然后星星和银河渐渐的出现(一闪一闪),最后流星划过,留下完美的句点. 所有的动画都是通过帧来实现的. 星星的代码分为2部分,首先是随机生成星星,然后是绘制星星,最后是 ...
- svg绘制蓝色星空,月亮,旋转灯塔
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- 拥抱ARM妹纸第二季 之 第三次 给我变个月亮,让约会更浪漫!
嗯嗯,效果不错.趁着这个热乎劲,接到俺的LED测试板上试试.呃~~~ 竟然和小LED的效果不一样啊,不一样.不但闪烁而且完全没有调光效果.郁闷内,查查原因呗.看看那里出问题.迅速在PT4115手册里翻 ...
随机推荐
- [日推荐] 『Streeter』极乐商店邀你一起来尬舞啊!-store.dreawer.com
你听的舞蹈有哪些?Jazz?Poppin?Hiphop?现代舞?民族舞?... 今天推荐一款小程序『Streeter』,几乎包含所有舞蹈视频,偷偷学好了,邀请你来尬舞啊 Streeter 这个Logo ...
- 区块链下的io域名到底有多神秘?
不知大家发现没有 一些科技创业公司首选域名后缀 是.IO WHY? 因为给人一种很酷的感觉啊~ 譬如,极客届享誉盛名的盘古越狱团队官网:http://pangu.io 国内优质社区,简书--创作你的创 ...
- Spring《错误集合,总结更新》
1.这几天配置springmvc 使用注解,并且自动扫描注解,当我单个配置,不用自动扫描,出现下面错误,找了很多人跟我看,配置也没问题,但是就是显示不出东西,所说的类也去看了,没有问题 這是我的模拟数 ...
- web服务的三大主流架构
1.远程过程调用 2.服务导向架构 3.表述性状态转移 今天在自学Spring架构时貌似发现 rest的表现.与RPC方式的最大差别,SOA方式更加关注如何去连接服务而不是去特定某个实现的细节.而re ...
- 【★】KMP算法完整教程
KMP算法完整教程 全称: Knuth_Morris_Pratt Algorithm(KMP算法) 类型: ...
- 2016-2017-2 《Java 程序设计》课堂实践项目
目录 基本工具 基础内容 Hello World 和 模块分解 数组的使用 命令行参数 递归 分支语句 String类的使用 类的定义与测试 多态 IO与异常 数据库 网络与安全 数据结构应用 And ...
- 团队作业4----第一次项目冲刺(Alpha版本)4.24
a.提供当天站立式会议照片 会议内容: ①:对数据库的设计存在问题的进一步讨论 ②:讨论需求分析中的存在的难解决的问题,比如要做到较好的反应用户的行为. ③:分配今天的任务 b. 每个人的工作 工作完 ...
- java中synchronized的使用
synchronized是Java中的关键字,是一种同步锁. synchronized分对象锁和类的锁两种. (一)通常synchronized 方法和synchronized(this){}都是属于 ...
- sudoku--SE第二次作业
git传送门 编译环境: windows10.vs2017 所用语言: c++ 首先作为一个晚上闭眼的玩家,我先来讲一下我的心路历程: 最开始接到作业的时候心里是拒绝的,刚出了一趟小远门就这样,就很难 ...
- 201521123001《Java程序设计》第7周学习总结
1. 本周学习总结 以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 参考资料: XMind 答: 大多数情况下,从性能上来说ArrayList最好,但是当集合内的元素需要频繁插入.删除时Lin ...