当前位置:网站首页>Poj3259 wormhole solution
Poj3259 wormhole solution
2022-07-28 13:49:00 【bj_ hacker】
POJ3259 Wormhole solution
subject
link
http://poj.org/problem?id=3259
Literal description
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
Ideas
This problem depends on wormholes to reduce time infinitely , We can use SPFA To judge the negative ring , It can also be used. Floyd To judge the negative ring .
Code implementation
#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;
}
边栏推荐
- My friend sent me some interview questions
- word打字时后面的字会消失是什么原因?如何解决?
- Deploy application delivery services in kubernetes (Part 1)
- R language Visual scatter diagram, geom using ggrep package_ text_ The repl function avoids overlapping labels between data points (add labels to specific areas of the visual image using the parameter
- R language uses LM function to build linear regression model and subset function to specify subset of data set to build regression model (use floor function and length function to select the former pa
- 30 day question brushing plan (II)
- R语言检验样本比例:使用prop.test函数执行单样本比例检验计算总体中成功样本比例p值的置信区间(设置conf.level参数指定置信水平、置信区间的大小)
- 数据库系统原理与应用教程(059)—— MySQL 练习题:操作题 1-10(三)
- 数据库系统原理与应用教程(061)—— MySQL 练习题:操作题 21-31(五)
- R language uses LM function to build multiple linear regression model, writes regression equation according to model coefficient, and uses conflict function to give 95% confidence interval of regressi
猜你喜欢

Volcanic stone investment Zhang Suyang: hard technology, the relatively certain answer in the next 10 years

Today's sleep quality record 75 points

酷炫操作预热!代码实现小星球特效

I'm bald! Who should I choose for unique index or general index?

DDoS protection with iptables

《如何打一场数据挖掘赛事》入门版

How to play a data mining game entry Edition

用非递归的方法实现二叉树中的层遍历,先序遍历,中序遍历和后序遍历

word打字时后面的字会消失是什么原因?如何解决?

Map tiles: detailed explanation of vector tiles and grid tiles
随机推荐
Excellent performance! Oxford, Shanghai, AI Lab, Hong Kong University, Shangtang, and Tsinghua have joined forces to propose a language aware visual transformer for reference image segmentation! Open
Using fail2ban to protect web servers from DDoS Attacks
Jenkins -- continuous integration server
C language: merge sort
DOJP1520星门跳跃题解
朋友发来几个面试题
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
数据库系统原理与应用教程(062)—— MySQL 练习题:操作题 32-38(六)
C language: random number + quick sort
30 day question brushing plan (III)
leetcode-深度优先与广度优先遍历
POJ3275 Ranking the Cows题解
I'm bald! Who should I choose for unique index or general index?
C语言:归并排序
vite在项目中配置路径别名
You have to apologize if you get involved in the funny shop?
合并表格行---三层for循环遍历数据
Merge table rows - three levels of for loop traversal data
Go language - Application of stack - expression evaluation
Today's sleep quality record 75 points