当前位置:网站首页>POJ3259虫洞题解
POJ3259虫洞题解
2022-07-28 12:37:00 【bj_hacker】
题目
链接
http://poj.org/problem?id=3259
字面描述
Wormholes
Time Limit: 2000MS Memory Limit: 65536K
Total Submissions: 92250 Accepted: 33922
Description
While exploring his many farms, Farmer John has discovered a number of amazing wormholes. A wormhole is very peculiar because it is a one-way path that delivers you to its destination at a time that is BEFORE you entered the wormhole! Each of FJ’s farms comprises N (1 ≤ N ≤ 500) fields conveniently numbered 1…N, M (1 ≤ M ≤ 2500) paths, and W (1 ≤ W ≤ 200) wormholes.
As FJ is an avid time-traveling fan, he wants to do the following: start at some field, travel through some paths and wormholes, and return to the starting field a time before his initial departure. Perhaps he will be able to meet himself .
To help FJ find out whether this is possible or not, he will supply you with complete maps to F (1 ≤ F ≤ 5) of his farms. No paths will take longer than 10,000 seconds to travel and no wormhole can bring FJ back in time by more than 10,000 seconds.
Input
Line 1: A single integer, F. F farm descriptions follow.
Line 1 of each farm: Three space-separated integers respectively: N, M, and W
Lines 2…M+1 of each farm: Three space-separated numbers (S, E, T) that describe, respectively: a bidirectional path between S and E that requires T seconds to traverse. Two fields might be connected by more than one path.
Lines M+2…M+W+1 of each farm: Three space-separated numbers (S, E, T) that describe, respectively: A one way path from S to E that also moves the traveler back T seconds.
Output
Lines 1…F: For each farm, output “YES” if FJ can achieve his goal, otherwise output “NO” (do not include the quotes).
Sample Input
2
3 3 1
1 2 2
1 3 4
2 3 1
3 1 3
3 2 1
1 2 3
2 3 4
3 1 8
Sample Output
NO
YES
Hint
For farm 1, FJ cannot travel back in time.
For farm 2, FJ could travel back in time by the cycle 1->2->3->1, arriving back at his starting location 1 second before he leaves. He could start from anywhere on the cycle to accomplish this.
Source
USACO 2006 December Gold
思路
这道题是靠虫洞无限减少时间,我们可以用SPFA去判断负环,也可以用Floyd去判断负环。
代码实现
#include<cstdio>
#include<string.h>
#include<cstring>
using namespace std;
const int maxn=500+10;
int f,n,m,w;
int g[maxn][maxn];
inline bool Floyd(){
for(int k=1;k<=n;k++){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(g[i][j]>g[i][k]+g[k][j])g[i][j]=g[i][k]+g[k][j];
}
if(g[i][i]<0)return true;
}
}
return false;
}
int main(){
scanf("%d",&f);
while(f--){
memset(g,0x3f,sizeof(g));
scanf("%d%d%d",&n,&m,&w);
for(int i=1;i<=m;i++){
int u,v,w;
scanf("%d%d%d",&u,&v,&w);
if(g[u][v]>w||g[v][u]>w)g[u][v]=g[v][u]=w;
}
for(int i=1;i<=w;i++){
int u,v,w;
scanf("%d%d%d",&u,&v,&w);
g[u][v]=-w;
}
if(!Floyd())printf("NO\n");
else printf("YES\n");
}
return 0;
}
边栏推荐
- 数据库系统原理与应用教程(060)—— MySQL 练习题:操作题 11-20(四)
- org.apache.ibatis.exceptions.TooManyResultsException的异常排查过程
- 力扣 剑指 Offer 51. 数组中的逆序对
- 【安全】 阅读 RFC6749 及理解 Oauth2.0 下的授权码模式
- leetcode-136.只出现一次的数字
- JS method of splitting strings
- Leetcode notes 566. Reshaping the matrix
- Parent and child of treeselect
- leetcdoe-342. 4的幂
- Leetcode-190. inverting binary bits
猜你喜欢

面经整理,助力秋招,祝你称为offer收割机

Unity - "synthetic watermelon" small game notes

少儿编程 电子学会图形化编程等级考试Scratch二级真题解析(判断题)2022年6月

jar包

Map tiles: detailed explanation of vector tiles and grid tiles

You have to apologize if you get involved in the funny shop?

屈辱、抗争、逆转,三十年,中国该赢微软一次了

Customized template in wechat applet
![[error] after logging in to another machine using SSH, you find that the hostname is still yourself | unable to access yarn8088](/img/81/641a5b3445534fc3b8c87ee6deaa64.png)
[error] after logging in to another machine using SSH, you find that the hostname is still yourself | unable to access yarn8088

Have a part of the game, after NFT is disabled in my world
随机推荐
Org.apache.ibatis.exceptions.toomanyresultsexception
持续(集成--&gt;交付--&gt;部署)
Leetcode 笔记 566. 重塑矩阵
[ecmascript6] function and its related use
leetcode-136.只出现一次的数字
Blue Bridge Training (additional interview questions) day 7
微信小程序中自定义模板
Jenkins -- continuous integration server
面经整理,助力秋招,祝你称为offer收割机
You have to apologize if you get involved in the funny shop?
Table list filter results remain unchanged
FFT wave simulation
What if the server cannot be connected (the original server cannot find the target resource)
数据库系统原理与应用教程(060)—— MySQL 练习题:操作题 11-20(四)
GameStop熊市杀入NFT交易,老牌游戏零售商借Web3焕发第二春
力扣 2354. 优质数对的数目
Customized template in wechat applet
Can second uncle cure young people's spiritual internal friction?
从手机厂高位“出走”的三个男人
How to check if the interface cannot be adjusted? I didn't expect that the old bird of the 10-year test was planted on this interview question