poj1860
来源:互联网 发布:无线网络限速软件 编辑:程序博客网 时间:2024/04/30 04:47
#include<iostream>
#define esp 1e-8
using namespace std;
int n,m,s;
typedef struct E{
int u;
int v;
double r;
double c;};
E e[202];
double d[102];//d[i]是当前钱在第i种货币下的价值!!!
double money;
bool bellman_ford(int num){
memset(d,0,sizeof(d));
d[s]=money;
while(d[s]<money+esp){
bool flag=0;
for(int i=0;i<num;i++)
if(d[e[i].v]<(d[e[i].u]-e[i].c)*e[i].r){
d[e[i].v]=(d[e[i].u]-e[i].c)*e[i].r;
flag=1;}
if(!flag)
return d[s]>d[s]+esp;//没有正权环使得d[s]不断增加!!!
}
return true;//由于有正环使得钱不断增加,当d[s]大于原来值时退出循环!!!
}
int main(){
bool flag=0;
cin>>n>>m>>s>>money;
int i;
int num=0;
int u,v;
double ru,cu,rv,cv;
for(i=0;i<m;i++){
cin>>u>>v>>ru>>cu>>rv>>cv;
e[num].u=u;e[num].v=v;e[num].r=ru;e[num++].c=cu;
e[num].u=v;e[num].v=u;e[num].r=rv;e[num++].c=cv;}
flag=bellman_ford(num);
if(flag) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
//system("pause");
return 0;}
- poj1860
- poj1860
- poj1860
- poj1860
- poj1860
- poj1860
- poj1860
- poj1860
- POJ1860
- poj1860
- POJ1860
- poj1860
- POJ1860
- poj1860
- poj1860
- POJ1860
- bellman--poj1860
- POJ1860随感
- 多机调度问题
- 最有转载问题!!
- charindex代替like并非"更快更全面" 收藏
- poj1062
- 多重背包中多次背包 O(VN) 算法1 (单调队列优化) 带参考程序
- poj1860
- SQLServer2005的查询独占模拟
- 提高PHP编程效率的53个要点
- SQLServer2005的Top功能
- poj2502
- apache+php+mysql安装配置方法小结
- poj3268
- SQLServer2005中的几个统计技巧
- poj1861