必威体育Betway必威体育官网
当前位置:首页 > IT技术

时光机

时间:2019-10-07 08:11:05来源:IT技术作者:seo实验室小编阅读:64次「手机版」
 

时光机

蒜头君生活的宇宙有 nn 个星球,有 mm 条虫洞。蒜头君发明了时光机,利用虫洞进行时光旅行。这 mm 条虫洞,第 ii 条虫洞能实现星球 a_iai​到 b_ibi​ 的单向旅行。蒜头君发明的时光机不稳定,通过第 ii 条虫洞能够使得时间前进或者倒退 c_ici​(c_i \ge 0ci​≥0 表示前进,c_i < 0ci​<0 表示倒退)。

如果通过时光机能够让时间无限倒退,那么将会掉进时间漩涡,从而实现穿越。那么蒜头君发明的时光机能否实现穿越(蒜头君可以从任何星球开始)。

输入格式

输入第一行两个整数 n(1 \le n \le 1000)n(1≤n≤1000),m( 1\le m \le 10000)m(1≤m≤10000)。

接下来 mm 行,第 ii 每行输入 33 个整数 a_i, b_i(1 \le a_i, b_i \le n)ai​,bi​(1≤ai​,bi​≤n),c_i(-10000 \le c_i \le 10000)ci​(−10000≤ci​≤10000),表示一个虫洞。

输出格式

如果蒜头军能实现穿越,输出"Yes",否则输出"No"。、

#include <iOStream>

#include <cstring>

#include <queue>

using namespace std;

const int N = 1e3 + 9;

const int M = 1e4 + 9;

const int inf = 0x3f3f3f3f3f;

struct edge {

int v, w, fail;

edge() {}

edge(int _v, int _w, int _fail) {

v = _v;

w = _w;

fail = _fail;

}

};

edge e[M << 1];

int head[N], len;

void init() {

memset(head, -1, sizeof head);

len = 0;

}

void add(int u, int v, int w) {

e[len] = edge(v, w, head[u]);

head[u] = len++;

}

void add2(int u, int v, int w) {

add(u, v, w);

add(v, u, w);

}

int n, m;

int dis[N],in[N];

bool vis[N];

bool SPFA(int u){

memset(vis,false,sizeof vis);

vis[u]=true;

memset(dis,inf,sizeof dis);

dis[u]=0;

memset(in,0,sizeof in);

in[u]=1;

queue<int> q;

q.push(u);

while(!q.empty()){

u=q.front();

q.pop();

vis[u]=false;

for(int j=head[u];~j;j=e[j].fail){

    int v=e[j].v;

    int w=e[j].w;

    if(dis[v]>dis[u]+w){

        dis[v]=dis[u]+w;

        if(!vis[v]){

            q.push(v);

            vis[v]=true;

            in[v]++;

            if(in[v]>n){

                return true;

            }

        }

    }

}

}

return false;

}

int main() {

init();

int u, v, w;

cin >> n >> m;

while (m--) {

cin >> u >> v >> w;

add(u, v, w);

}

for(int i=1;i<=n;i++){

add(0,i,0);

}

if(SPFA(1)){

cout<<"Yes"<<endl;

}else{

cout<<"No"<<endl;

}

return 0;

}

相关阅读

【宝宝时光机】宝宝成长记录APP产品需求文档

宝贝时光机是一款以视频拍摄为主,全家参与记录宝宝成长的工具,同时可以和亲友分享宝宝故事,在社区交流拍摄经验。一、文档说明“宝贝

“淘宝时光机”牵动消费记忆!十年,你淘了什么?又改变了什

近日,“淘宝十周年时光机”正式发布,这款小小的“时光机”可以让你看到自己从2003年淘宝成立之后到2013年的支付宝消费状况。我们看

QQ时光机产品体验报告

前言背景介绍随着互联网的日益普及QQ已成为几乎每个用户的必备软件,其忠诚度甚至高于手机号,腾讯在今年“六·一”儿童节之际推出了

分享到:

栏目导航

推荐阅读

热门阅读