(洛谷上没找到题目)

翻译啥的凑合凑合麻烦各位大佬自行解决【囧】
#include <iostream>
#include <string.h>
using namespace std;
int n,m,s;
double v;
int all;
double d[105];
struct node
{
int a,b;
double r,c;
}ex[205];
bool bellman()
{
memset(d,0,sizeof(d));
d[s]=v;
bool flag;
for(int i=1;i<n;i++)
{
flag=false;
for(int j=1;j<all;j++)
{
if(d[ex[j].b]<(d[ex[j].a]-ex[j].c)*ex[j].r)
{
d[ex[j].b]=(d[ex[j].a]-ex[j].c)*ex[j].r;
flag=true;
}
if(!flag)
break;
}
}
for(int k=0;k<all;k++)
if(d[ex[k].b]<(d[ex[k].a]-ex[k].c)*ex[k].r)
return true;
return false;
}
int main()
{
int a,b;
double x1,x2,y1,y2;
while(cin>>n>>m>>s>>v)
{
all=0;
for(int i=0;i<m;i++)
{
cin>>a>>b>>x1>>x2>>y1>>y2;
ex[all].a=a;
ex[all].b=b;
ex[all].r=x1;
ex[all++].c=x2;
ex[all].a=b;
ex[all].b=a;
ex[all].r=y1;
ex[all++].c=y2;
}
if(bellman())
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
return 0;
}
结果是WA,样例应该或许可能没错(真的不自信),麻烦大佬帮我这个蒟蒻调一下程序谢谢!
万死不辞!!!