4416 FFF 团卧底的后宫

 时间限制: 1 s
 空间限制: 128000 KB
 题目等级 : 黄金 Gold
 
 
 
题目描述 Description

你在某日收到了 FFF 团卧底的求助,在他某日旅游回来,他的后宫们出现了一些不可调和的矛盾,如果 FFF 团卧底把自己的宝贝分给 a 号妹子,那么 b 号妹子至少要在站在 a 号妹子的右边距离 d,妹子才愿意得到那个宝贝。可是后宫里也有玩得好的妹子呀,她们总是渴望亲近一点,如果把自己的宝贝分给 a 号妹子,那么与她亲近的妹子与 a 号妹子的距离不会超过 l。现在总共有 n 个妹子,k 个这样的矛盾关系,m 个亲近关系。假设他的宝贝是无限的,保证每一个妹子都有宝贝的情况下,第 n 个妹子和第一个妹子的最远距离是多少呢?

输入描述 Input Description

第一行为 n,m,k

此后 m 行为亲近关系

此后 k 行为矛盾关系

输出描述 Output Description

一行,为最长的距离

样例输入 Sample Input

4 2 1

1 3 100

2 4 200

2 3 33

样例输出 Sample Output

267

数据范围及提示 Data Size & Hint

对于 40%的数据,n<=100

对于 100%的数据,n<=1000,m<=10000,从 1 开始编号,距离在 int 范围内

代码:

 #include<cstdio>
#define INF 0x7fffffff
#define maxn 10000
#include<iostream> using namespace std; int n,ml,md,cnt=; struct cf
{
int to[maxn],a[maxn],next[maxn],head[maxn],w[maxn],q[maxn*],tt[maxn];
long long dis[maxn];
bool vis[maxn];
int insert(int u,int v,int ww)
{
to[++cnt]=v; next[cnt]=head[u]; head[u]=cnt; w[cnt]=ww;
}
cf()
{
scanf("%d%d%d",&n,&ml,&md);
for (int i=;i<=ml;i++)
{
int u,v,w;
scanf("%d%d%d",&u,&v,&w);
insert(u,v,w);
}
for (int i=;i<=md;i++)
{
int u,v,w;
scanf("%d%d%d",&u,&v,&w);
insert(v,u,-w);
}
for (int i=;i<=n;i++) dis[i]=0x7fffffff;
}
int spfa()
{
int h=,t=;
q[]=;
vis[]=;
tt[]++;
dis[]=;
while (t<h)
{
int now=q[t++];
for (int i=head[now];i;i=next[i])
{ if (dis[to[i]]>dis[now]+w[i])
{
tt[to[i]]++;
if (tt[to[i]]==n+) return ;
dis[to[i]]=dis[now]+w[i];
if (!vis[to[i]])
{
vis[to[i]]=;
q[h++]=to[i];
}
}
}
vis[now]=;
}
return ;
}
void print()
{
if(!spfa()) printf("-1");
else if(dis[n]==0x7fffffff) printf("-2");
else printf("%lld\n",dis[n]);
} }cf;
int main()
{
cf.print();
return ;
}

C++之路进阶——codevs4416(FFF的后宫)的更多相关文章

  1. CodeVS4416 FFF 团卧底的后宫

    题目描述 Description 你在某日收到了 FFF 团卧底的求助,在他某日旅游回来,他的后宫们出现了一些不可调和的矛盾,如果 FFF 团卧底把自己的宝贝分给 a 号妹子,那么 b 号妹子至少要在 ...

  2. 差分约束 4416 FFF 团卧底的后宫

    /* 4416 FFF 团卧底的后宫  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description 你在某日收到了 FFF ...

  3. [OJ#40]后宫佳丽

    [OJ#40]后宫佳丽 试题描述 如果机房要关门了,或者有妹子在等你,你可以直接看最后一句话. Fyq 是一只饥渴的鸭子. Fyq 有一个充实的后宫,可惜他总是体力不支,为此他经常苦恼,总是想方设法让 ...

  4. NOIP模拟赛 czy的后宫6

    czy的后宫6 题目描述 众所周知的是丧尸czy有很多妹子(虽然很多但是质量不容乐观QAQ),今天czy把n个妹子排成一行来检阅.但是czy的妹子的质量实在……所以czy看不下去了.检阅了第i个妹子会 ...

  5. NOIP模拟赛 czy的后宫4

    czy的后宫4 [问题描述] czy有很多妹子,妹子虽然数量很多,但是质量不容乐观,她们的美丽值全部为负数(喜闻乐见). czy每天都要带N个妹子到机房,她们都有一个独一无二的美丽值,美丽值为-1到- ...

  6. NOIP模拟赛 czy的后宫5

    描述 czy要召集他的妹子,但是由于条件有限,可能每个妹子不能都去,但每个妹子都有一个美丽值,czy希望来的妹子们的美丽值总和最大(虽然……). czy有一个周密的电话通知网络,它其实就是一棵树,根结 ...

  7. NOIP模拟赛 czy的后宫3

    [题目描述] 上次czy在机房妥善安排了他的后宫之后,他发现可以将他的妹子分为c种,他经常会考虑这样一个问题:在[l,r]的妹子中间,能挑选出多少不同类型的妹子呢? 注意:由于czy非常丧尸,所以他要 ...

  8. NOIP模拟赛 czy的后宫

    [题目描述] czy要妥善安排他的后宫,他想在机房摆一群妹子,一共有n个位置排成一排,每个位置可以摆妹子也可以不摆妹子.有些类型妹子如果摆在相邻的位置(隔着一个空的位置不算相邻),就不好看了.假定每种 ...

  9. C++之路进阶——P2022

    P2022 有趣的数 让我们来考虑1到N的正整数集合.让我们把集合中的元素按照字典序排列,例如当N=11时,其顺序应该为:1,10,11,2,3,4,5,6,7,8,9. 定义K在N个数中的位置为Q( ...

随机推荐

  1. java Reentrant Lock

    //Listing 7-1. Achieving Synchronization in Terms of Reentrant Locks import java.util.concurrent.Exe ...

  2. AndEngine

    AndEngine http://www.oschina.net/question/54100_16765

  3. MySQL安装图解教程

    安装文件存放路径:不能有中文和空格! 校验 1 安装MySQL 2 校验MySQL 登录MySQL:mysql -uroot -p123 退出MySQL:exit | quit 查看数据库:show ...

  4. c语言学习感想

    接触c语言已经2个多月了,在这段期间按时的完成了作业,上课能够较好的听讲,因此我获得了老师奖励的小黄衫. 同时,希望自己能够学好c语言! 学习感受与心得 因为兴趣,选择了计算机这专业,我从遥远的南方来 ...

  5. leetcode:Factorial Trailing Zeroes

    Given an integer n, return the number of trailing zeroes in n!. 最初的代码 class Solution { public: int t ...

  6. imx6 MFG TOOL 分析

    之前分析过mfgtool的内容,最近从官网下载,返现新版的mfgtool工具将imx6各种版本的linux/android都使用一个工具进行烧录.所以从新分析一下. 新版与旧版的一个区别是烧写使用的u ...

  7. LeetCode Find Minimum in Rotated Sorted Array II

    原题链接在这里:https://leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii/ 题目: Follow up for &qu ...

  8. php常用转义字符‘ “ {} $ \n

    php 单引号和双引号的区别: 双引号串中的内容可以被解释而且替换,而单引号串中的内容总被认为是普通字符. <?php $a = 'abc'; echo "<br>&quo ...

  9. swift 同步加载图片

    import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: ...

  10. linux查看公网地址

    curl cip.cc curl http://members.3322.org/dyndns/getip