YSU小吃街
- 贪心贪不过,暴力搜就完事了
- 注意不连通情况
#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小吃街的更多相关文章
- 2016级算法第三次上机-A.Bamboo的小吃街
A Bamboo的小吃街 分析 经典的两条流水线问题,题目描述基本类似于课件中的流水线调度,符合动态规划最优子结构性质 关键的动态规划式子为: dp[0][j] = min(dp[0][j - 1], ...
- python基础 Day01 练习题
1 字符串格式化 #!/urs/bin/env python name = input("Name: ") age = int(input("Age: ")) ...
- stanford-parser使用说明
主意:本说明文档针对stanford-parser-full-2014-06-16.不同版本的parser,其功能和表示形式可能会略有不同.但总体不会有太大差异 Stanford parser是一款较 ...
- 写了一个复杂的sql语句
$sp_sql = "select sp_ProductNo, sp_ProductName,sp_Standard,sp_Unit,sum(sp_Amount) as amount fro ...
- 漫谈Java IO之基础篇
Java的网络编程如果不是专门搞服务器性能开发或者消息分发,几乎可能涉及不到.但是它却是面试找工作必问的一个知识点,涵盖的知识体系也非常广泛,从Java底层IO原理到操作系统内核组成,再到网络TCP. ...
- hsdfz -- 6.17 -- day2
今日依旧康复…… 当天晚上被老师拉去小吃街了,晚上回来精力憔悴,所以并没有当天写 反正就惨,因为估错复杂度,期望得分100分最后结果20分 (我的复杂度是nlog^2n的,正确性有保障,稳! 事后:还 ...
- NOI2018 游记
day-2 飞向长沙 上午收拾了收拾东西,下载了动画<爱吃拉面的小泉同学>的前五集. 吃过午饭,就准备坐车去运城机场.高铁飞速,转眼间就到了.我没坐过几次飞机,而且比较恐飞,就很难受qwq ...
- 在西雅图华盛顿大学 (University of Washington) 就读是怎样一番体验?
http://www.zhihu.com/question/20811431 先说学校.优点: 如果你是个文青/装逼犯,你来对地方了.连绵不断的雨水会一下子让写诗的感觉将你充满. 美丽的校园.尤其 ...
- python-网络编程-01
我们常说的计算机网络通信,值得是两台,或者多台计算机间,进行数据传输. 从计算机网络发展至今,人们使用了很多协议,但是最常用的还是tcp/ip协议,实际上这是一组协议. 当然使用python做网络编程 ...
随机推荐
- codeforces626D . Jerry's Protest (概率)
Andrew and Jerry are playing a game with Harry as the scorekeeper. The game consists of three rounds ...
- Codeforces Round #498 (Div. 3) D. Two Strings Swaps (思维)
题意:给你两个长度相同的字符串\(a\)和\(b\),你可以将相同位置上的\(a\)和\(b\)的字符交换,也可以将\(a\)或\(b\)中某个位置和对应的回文位置上的字符交换,这些操作是不统计的,你 ...
- Python Base64编码解码
import base64 str = '12345678'.encode('utf8') print(base64.b64encode(str).decode('utf8')) # 编码 接收的参数 ...
- vs2017创建文件模板(自动添加创建信息:创建者,创建日期等信息)
很多小伙伴在创建新的类的时候都要都要手动写类的注释,如作者名称.创建日期.版本等等,当有几个类的时候还可以手动写写,但有几十个或者更多的类的时候就麻烦了,所以我们可以设定Visual Studio 2 ...
- C# Arrays
Arrays 数组是一系列items 的集合,可以进行各种操作,比如sorting等 定义方式: 数据类型[] 数组名; 使用之前需要实例化,这就是实例化了一个含有2个元素的string 数组 还记得 ...
- HDU 6623 Minimal Power of Prime(思维)题解
题意: 已知任意大于\(1\)的整数\(a = p_1^{q_1}p_2^{q_2} \cdots p_k^{q_k}\),现给出\(a \in [2,1e18]\),求\(min\{q_i\},q ...
- 解决springmvc使用@ResponseBody返回String类型字符串中文乱码问题
问题分析: 首先: 确定的是只有当返回值是 String时才会出现中文乱码,而当返回值是Map<String, Object>或者是其它类型时,并没有中文乱码的出现. 然后找原因: 原因是 ...
- Vue & Sentry & ErrorHandler
Vue & Sentry & ErrorHandler import * as Sentry from '@sentry/browser'; import { Vue as VueIn ...
- vuepress & package.json lock version
vuepress & package.json lock version npm 锁版 bug npm lock version holy shit { "name": & ...
- SwiftUI & Compose View
SwiftUI & Compose View OK // // ContentView.swift // Landmarks // // Created by 夏凌晨 on 2020/10/2 ...