首页 > 代码库 > CodeVS4416 FFF 团卧底的后宫
CodeVS4416 FFF 团卧底的后宫
题目描述 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 范围内
图论 差分约束
差分约束模板题。
好像……没读懂题?描述不清是出题人的错吧!
前m个关系是给定 a,b,w,限制 b - a <=w
后k个关系是给定 a,b,w,限制 b-a>=w
1 /*by SilverN*/ 2 #include<iostream> 3 #include<algorithm> 4 #include<cstdio> 5 #include<cmath> 6 #include<cstring> 7 #include<queue> 8 using namespace std; 9 const int mxn=10010;10 int read(){11 int x=0,f=1;char ch=getchar();12 while(ch<‘0‘ || ch>‘9‘){if(ch==‘-‘)f=-1;ch=getchar();}13 while(ch>=‘0‘ && ch<=‘9‘){x=x*10+ch-‘0‘;ch=getchar();}14 return x*f;15 }16 struct edge{17 int v,nxt,w;18 }e[mxn<<1];19 int hd[mxn],mct=0;20 void add_edge(int u,int v,int w){21 e[++mct].v=v;e[mct].nxt=hd[u];e[mct].w=w;hd[u]=mct;return;22 }23 int dis[mxn];24 bool inq[mxn];25 int vis[mxn];26 queue<int>q;27 int n,m1,m2;28 void SPFA(){29 memset(dis,0x3f,4*(n+1));30 dis[1]=0;31 q.push(1);32 while(!q.empty()){33 int u=q.front();q.pop();inq[u]=0;34 for(int i=hd[u];i;i=e[i].nxt){35 int v=e[i].v;36 if(dis[v]>dis[u]+e[i].w){37 dis[v]=dis[u]+e[i].w;38 ++vis[v];39 if(vis[v]>n){printf("-1\n");exit(0);}40 if(!inq[v]){ inq[v]=1; q.push(v); }41 }42 }43 }44 return;45 }46 int main(){47 int i,j,u,v,w;48 n=read();m1=read();m2=read();49 for(i=1;i<=m1;i++){50 u=read();v=read();w=read();51 add_edge(u,v,w);52 }53 for(i=1;i<=m2;i++){54 u=read();v=read();w=read();55 add_edge(v,u,-w);56 }57 SPFA();58 if(dis[n]==0x3f3f3f3f)printf("-2\n");59 else printf("%d\n",dis[n]);60 return 0;61 }
CodeVS4416 FFF 团卧底的后宫
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。