小明的烦恼——找路径 
Time Limit: 2000ms, Special Time Limit:5000ms,
Memory Limit:32768KB
Total submit users: 45, Accepted users:
37
Problem 11545 : No special judgement
Problem description
  小明真的是个非常厉害的人,每当老师有什么事时,总是会找到小明,二小明也总能解决,所以老师决定给小明一个奖励,给他额外的假期。小明当然非常高兴。由于小明最终能够如愿的出去旅游了。小明旅游的第一站到了漂亮的长沙,到了长沙当然免不了要去參观古色古香的的湖南师范大学了。小明在师大校园里愉快的玩耍。不时瞅一眼从他身边经过的美女,也感叹这个校园古老建筑带给他的震撼。

临近中午了。小明走到了理学院大门前,瞬间就被吸引了,于是就走了进去,在理学院的一个教室外面。小明看到有个带眼睛的男生在皱眉头,好像是被什么难题卡住了,小明的慈悲之心油然而生,于是就走了进去。

于是题目就来了:


有N个城市,有些城市有道路相连。但这些道路中间并没有加油站(每一个城市里面有加油站能够补给),如今有个project师要找到T条不同的路径从1号城市到N号城市,两条路径是不同的当且仅当不经过同样的边。如今告诉你project师的汽车的最大载油量C和经过每条道路所要消耗的油量。问你这个project师能不能完毕任务。

Input
  由多组case:

每组case第一行有4个整数N。M。T,C。N<=200;C<=1000000;

然后有M行。每一行有3个整数,a,b,c,代表从a城市到b城市须要c的油量。c<=1000000;假设两个城市之间有多条边,则视为不同的边。
Output
  对于每一个case:

假设project师可以完毕任务,输出YES,不然输出NO。

Sample Input
7 9 2 5
1 2 2
2 3 5
3 7 5
1 4 1
4 3 1
4 5 7
5 7 1
1 6 3
6 7 3
7 9 2 4
1 2 2
2 3 5
3 7 5
1 4 1
4 3 1
4 5 7
5 7 1
1 6 3
6 7 3
Sample Output
YES
NO
解题:如果每条可行边的流限最大为1,则依据网络流的性质:每一个点的 流进量==流出量,守恒。所以一条边仅仅能属于一条路。
#include<stdio.h>
#include<string.h>
#include<queue>
#include<iostream>
using namespace std;
const int N = 225; bool mapt[N][N];
int pre[N],sNode,eNode,n; bool searchPath(){//找一条增广路
queue<int>q;
bool vist[N]={0};
pre[sNode]=sNode; vist[sNode]=1;
q.push(sNode);
while(!q.empty()){
int u=q.front(); q.pop();
for(int v=2; v<=n; v++)
if(mapt[u][v]&&vist[v]==0){
vist[v]=1;
pre[v]=u;
if(v==eNode) return true;
q.push(v);
}
}
return false;
}
bool maxflow(int T){
while(searchPath()){
int u,v;
T--;
if(T<=0)return true;
v=eNode;
while(v!=sNode){
u=pre[v];
mapt[u][v]=0;
mapt[v][u]=1;//能够回流
v=u;
}
}
return false;
}
int main(){
int M,T,C,a,b,c;
while(scanf("%d%d%d%d",&n,&M,&T,&C)>0){
memset(mapt,false,sizeof(mapt));
sNode=1; eNode=n;
while(M--){
scanf("%d%d%d",&a,&b,&c);
if(c<=C) mapt[a][b]=1;//每条边的最大流限。
}
if(T==0||maxflow(T))
printf("YES\n");
else printf("NO\n");
}
}

hunnu 11545小明的烦恼——找路径 (最大流)的更多相关文章

  1. hunnu - 11545 小明的烦恼——找路径 (最大流)

    http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11545 只是要求不经过相同的边,那么每次找出一条增广路T-- ...

  2. hunnu--11545--小明的烦恼——找路径

    小明的烦恼--找路径  Time Limit: 2000ms, Special Time Limit:5000ms, Memory Limit:32768KB Total submit users:  ...

  3. hunnu 小明的烦恼——找字符串

    http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11544&courseid=0 小明的烦恼——找字符串 ...

  4. hunnu11544:小明的烦恼——找字符串

    Problem description   小明是个非常优秀的同学.他除了特别公正外,他也非常细心,当然老师肯定也知道,这不,老师又有事情找他帮忙了.老师每周都会给他一个字符串A.然后问小明" ...

  5. hnuun 11544 小明的烦恼——找字符串(求环形字符串的最小最大字典序)

    http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11544&courseid=0 最小最大表示法: 求环 ...

  6. hunnu11543:小明的烦恼——分糖果

    Problem description   小明在班里一直是个非常公正的孩子.这点同学和老师都非常清楚,这不,老师每周都会从家里带来一些糖果.然后叫小明把糖果分给其它小朋友,但这个班里的同学都有一个非 ...

  7. 擅长排列的小明 II(找规律)

    擅长排列的小明 II 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 小明十分聪明,而且十分擅长排列计算. 有一天小明心血来潮想考考你,他给了你一个正整数n,序列1,2, ...

  8. 【BZOJ3280】小R的烦恼 最小费用最大流

    [BZOJ3280]小R的烦恼 Description 小R最近遇上了大麻烦,他的程序设计挂科了.于是他只好找程设老师求情.善良的程设老师答应不挂他,但是要求小R帮助他一起解决一个难题. 问题是这样的 ...

  9. 【贪心+堆】XMU 1584 小明的烦恼

    题目链接: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1584 题目大意: 给n(n<=100 000)个任务的耗时和截至时间,问最少不能 ...

随机推荐

  1. 构建基于Javascript的移动CMS——加入滑动

    在和几个有兴趣做移动CMS的小伙伴讨论了一番之后,我们认为当前比較重要的便是统一一下RESTful API.然而近期持续断网中,又遭遇了一次停电,暂停了对API的思考.在周末无聊的时光了看了<人 ...

  2. OpenCV —— 图像局部与分割(二)

    分水岭算法 将图像中的边缘转化成“山脉”,将均匀区域转化为“山谷” 分水岭算法首先计算灰度图像的梯度,这对山谷或没有纹理的盆地(亮度值低的点)的形成有效,也对山头或图像中没有主导线段的山脉(山脊对应的 ...

  3. JavaScript--数据结构与算法之集合

    集合(Set):是一种包含不同元素的数据结构. 重要特性:1.集合中的成员时无序的:2.集合中不允许相同的成员存在. 使用场景:用于存储一些独一无二的元素. 1 集合的定义:(和高中数学中的集合一样) ...

  4. 跟我一起造轮子 手写springmvc

    原创地址:https://www.cnblogs.com/xrog/p/9820168.html 作为java程序员,项目中使用到的主流框架多多少少和spring有关联,在面试的过程难免会问一些spr ...

  5. 使用PLupload在同一页面中进行多个不同类型上传解决方案和一次多文件上传的注意事项

    首先感谢,http://www.cnblogs.com/2050/p/3913184.html 这篇文章作者. 在使用PLUpload之前个人先封装了一些常用配置,并且将success与error做为 ...

  6. Python day字符串所有使用

    字符串所有的操作name = "dio"names = "my\t name is {Name} and i am a {job}"print(name.cap ...

  7. 03003_MySQL

    1.之前已经进行过MySQL的安装,参考03002_MySql数据库的安装和配置 : 2.登录MySQL数据库 (1)启动mysql服务:net start mysql   : (2)MySQL是一个 ...

  8. 【Codeforces Round #457 (Div. 2) C】Jamie and Interesting Graph

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 找比n-1大的最小的素数x 1-2,2-3..(n-2)-(n-1)长度都为1 然后(n-1)-n长度为(x-(n-2)) 然后其他 ...

  9. STL_算法_查找算法(search、find_end)

    C++ Primer 学习中. .. 简单记录下我的学习过程 (代码为主) search          //从左往右找第一个符合条件的子区间    全部容器适用 find_end  //从右往左找 ...

  10. poj 1001 java大精度

    import java.io.* ; import java.math.* ; import java.util.* ; import java.text.* ; public class Main ...