• 贪心贪不过,暴力搜就完事了
  • 注意不连通情况
  • #include<iostream>
    #include<sstream>
    #include<cstdio>
    #include<cstdlib>
    #include<string>
    #include<cstring>
    #include<algorithm>
    #include<functional>
    #include<iomanip>
    #include<numeric>
    #include<cmath>
    #include<queue>
    #include<vector>
    #include<set>
    #include<map>
    #include<cctype>
    const double PI = acos(-1.0);
    const int INF = 0x3f3f3f3f;
    const int NINF = -INF - 1;
    const int maxn = 1e5 + 5;
    typedef long long ll;
    #define MOD 1000000007
    using namespace std;
    int n, m, st;
    int vis[maxn];
    int rec = 0;
    typedef pair<int, int> P;
    struct node
    {
    int next, cost;
    int flag;
    };
    vector<node> G[maxn];
    void bfs()
    {
    queue<P> q;
    q.push(P(1, st));
    while(q.size())
    {
    P p = q.front();
    q.pop();
    for(int i = 0; i < G[p.first].size(); ++i)
    {
    node tmp = G[p.first][i];
    int mp;
    if(!tmp.flag) mp = p.second - tmp.cost;
    else mp = p.second + tmp.cost;
    if (vis[tmp.next] == -1) {
    vis[tmp.next] = mp;
    q.push(P(tmp.next, vis[tmp.next]));
    }
    else{
    if(vis[tmp.next] != mp) {
    rec = 1;
    break;
    }
    }
    }
    if(rec) break;
    }
    }
    int main()
    {
    memset(vis, -1, sizeof(vis));
    scanf("%d %d %d", &n, &m, &st);
    for(int i = 0; i < m; ++i)
    {
    int x, y, w;
    scanf("%d %d %d", &x, &y, &w);
    G[x].push_back(node{y, w, 0});
    G[y].push_back(node{x, w, 1});
    }
    vis[1] = st;
    bfs();
    // for(int i = 1; i <= n; ++i)
    // {
    // cout << vis[i] << ' ';
    // }
    // cout << endl;
    for(int i = 1; i <= n; ++i)
    {
    if(vis[i] == -1)
    {
    rec = 1;
    break;
    }
    }
    if(rec)
    {
    cout << "QAQ";
    }
    else
    {
    cout << "QWQ" << endl;
    for(int i = 1; i <= n; ++i)
    {
    cout << vis[i] << endl;
    }
    }
    return 0;
    }

YSU小吃街的更多相关文章

  1. 2016级算法第三次上机-A.Bamboo的小吃街

    A Bamboo的小吃街 分析 经典的两条流水线问题,题目描述基本类似于课件中的流水线调度,符合动态规划最优子结构性质 关键的动态规划式子为: dp[0][j] = min(dp[0][j - 1], ...

  2. python基础 Day01 练习题

    1 字符串格式化 #!/urs/bin/env python name = input("Name: ") age = int(input("Age: ")) ...

  3. stanford-parser使用说明

    主意:本说明文档针对stanford-parser-full-2014-06-16.不同版本的parser,其功能和表示形式可能会略有不同.但总体不会有太大差异 Stanford parser是一款较 ...

  4. 写了一个复杂的sql语句

    $sp_sql = "select sp_ProductNo, sp_ProductName,sp_Standard,sp_Unit,sum(sp_Amount) as amount fro ...

  5. 漫谈Java IO之基础篇

    Java的网络编程如果不是专门搞服务器性能开发或者消息分发,几乎可能涉及不到.但是它却是面试找工作必问的一个知识点,涵盖的知识体系也非常广泛,从Java底层IO原理到操作系统内核组成,再到网络TCP. ...

  6. hsdfz -- 6.17 -- day2

    今日依旧康复…… 当天晚上被老师拉去小吃街了,晚上回来精力憔悴,所以并没有当天写 反正就惨,因为估错复杂度,期望得分100分最后结果20分 (我的复杂度是nlog^2n的,正确性有保障,稳! 事后:还 ...

  7. NOI2018 游记

    day-2 飞向长沙 上午收拾了收拾东西,下载了动画<爱吃拉面的小泉同学>的前五集. 吃过午饭,就准备坐车去运城机场.高铁飞速,转眼间就到了.我没坐过几次飞机,而且比较恐飞,就很难受qwq ...

  8. 在西雅图华盛顿大学 (University of Washington) 就读是怎样一番体验?

    http://www.zhihu.com/question/20811431   先说学校.优点: 如果你是个文青/装逼犯,你来对地方了.连绵不断的雨水会一下子让写诗的感觉将你充满. 美丽的校园.尤其 ...

  9. python-网络编程-01

    我们常说的计算机网络通信,值得是两台,或者多台计算机间,进行数据传输. 从计算机网络发展至今,人们使用了很多协议,但是最常用的还是tcp/ip协议,实际上这是一组协议. 当然使用python做网络编程 ...

随机推荐

  1. Java-Swing的JFrame的一些插件使用详解

    JFrame介绍: 在 JFrame 对象中可以使用add方法添加 AWT 或者 Swing 组件. JFrame 有一个 Content Pane,窗口能显示的所有组件都是添加在这个 Content ...

  2. Java——方法及构造方法、intellij IDEA中的一些快捷键

    intellij IDEA中的一些快捷键: 一.方法基础 给你一个两个int类型的数相加的例子: 这个例子说明了 public static void main(String[] args) {}相当 ...

  3. Codeforces Round #667 (Div. 3) C. Yet Another Array Restoration (数学)

    题意:给你两个数字\(x\)和\(y\),让你构造一个长度为\(n\)的序列,要求包含\(x\)和\(y\),并且排序后相邻两项的差值相等. 题解:有排序后相邻两项的差值相等可知,构造的序列排序后一定 ...

  4. C# 程序运行时间计算

    https://www.cnblogs.com/dearzhoubi/p/9842452.html

  5. rabbitmq常见面试题

    1.使用RabbitMQ有什么好处?1.解耦,系统A在代码中直接调用系统B和系统C的代码,如果将来D系统接入,系统A还需要修改代码,过于麻烦! 2.异步,将消息写入消息队列,非必要的业务逻辑以异步的方 ...

  6. 001、Python数据结构

    #! usr/bin/env python # _*_ coding:utf-8 _*_ from random import randint ''' 一.list的增删改查 1.list.appen ...

  7. WPF 之命令(七)

    一.前言 ​ 事件的作用是发布和传播一些消息,消息送达接收者,事件的使命也就完成了,至于消息响应者如何处理发送来的消息并不做规定,每个接收者可以使用自己的行为来响应事件.即事件不具有约束力. ​ 命令 ...

  8. Django服务器布置(Ubuntu+uwsgi+nginx+Django)

    一.安装Python apt install python3 二.安装pip apt install python3-pip 三.创建目录 创建虚拟服务目录 mkdir -p /data/env 创建 ...

  9. Java中多线程启动,为什么调用的是start方法,而不是run方法?

    前言 大年初二,大家新年快乐,我又开始码字了.写这篇文章,源于在家和基友交流的时候,基友问到了,我猛然发现还真是这么回事,多线程启动调用的都是start,那么为什么没人掉用run呢?于是打开我的ide ...

  10. LCIS(最长公共上升子序列)模板

    求出LCIS并输出其路径. 1 #include <iostream> 2 #include <cstdio> 3 #include <string> 4 #inc ...