社区讨论
求助大佬为什么本地过了评测不过
P3385【模板】负环参与者 3已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @mi7cq8o5
- 此快照首次捕获于
- 2025/11/20 19:32 4 个月前
- 此快照最后确认于
- 2025/11/20 19:32 4 个月前
RT,在本地和洛谷IDE上都测评通过,反而在评测中都WA,这是为什么
代码如下:
CPP#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<iomanip>
#include<algorithm>
#include<stack>
#include<vector>
#include<queue>
using namespace std;
int d[10500],n,m,x,y,z,t,k,head[10500],cou[10500];
bool vis[10500];
struct c{
int w,to,next;
}a[105000];
void add(int u,int v,int w)
{
a[t].to=v;
a[t].w=w;
a[t].next=head[u];
head[u]=t;
t++;
}
bool spfa()
{
queue <int> q;
memset(vis,0,sizeof(vis));
memset(d,88,sizeof(d));
memset(cou,0,sizeof(cou));
cou[1]=1;
d[1]=0;
vis[1]=1;
q.push(1);
while(!q.empty())
{
int u=q.front();
q.pop();
vis[u]=0;
for(int i=head[u];i!=-1;i=a[i].next)
{
int v=a[i].to;
if(d[v]>d[u]+a[i].w)
{
if(++cou[v]>=n) return 1;
d[v]=d[u]+a[i].w;
if(!vis[v])
{
vis[v]=1;
q.push(v);
}
}
}
}
return 0;
}
int main()
{
freopen("1.txt","r",stdin);
cin>>k;
while(k--)
{
cin>>n>>m;
t=1;
memset(head,-1,sizeof(head));
//memset(a,0,sizeof(a));
for(int q=1;q<=m;q++)
{
scanf("%d%d%d",&x,&y,&z);
if(z<0)
add(x,y,z);
else{
add(x,y,z);
add(y,x,z);
}
}
if(k!=0)
if(spfa())
cout<<"YES"<<endl;
else cout<<"NO"<<endl;
else
if(spfa())
cout<<"YES";
else cout<<"NO";
}
}
数据如下
CPP10
9 16
1 2 -4
1 4 0
1 7 -4
1 4 9
2 3 -2
2 8 -3
2 5 11
2 5 4
2 7 6
3 5 -3
3 7 11
4 8 1
5 6 -2
5 6 8
6 9 -4
7 9 0
8 14
1 2 5
1 7 -3
2 3 8
2 4 0
2 5 14
2 2 15
2 6 13
3 7 5
4 5 1
4 6 13
4 7 11
4 8 15
4 7 15
4 6 -2
5 39
1 2 -3
1 5 3
1 4 15
1 1 9
1 1 9
1 4 3
1 5 6
1 4 7
1 2 1
1 5 12
1 5 -3
1 2 -4
1 2 -2
2 3 2
2 4 1
2 4 4
2 3 -2
2 5 3
2 5 3
2 3 6
2 3 2
2 5 3
2 5 10
2 3 0
2 5 8
2 4 12
2 3 0
3 3 -4
3 3 1
3 5 7
3 4 10
3 5 2
3 4 9
3 5 1
3 4 -2
4 4 4
4 4 8
5 5 11
5 5 4
2 22
1 2 1
1 2 15
1 2 3
1 2 11
1 1 6
1 2 12
1 2 3
1 2 11
1 1 1
1 2 8
1 2 11
1 1 4
1 2 14
1 2 4
1 1 -4
1 2 0
1 1 -4
2 2 4
2 2 13
2 2 12
2 2 8
2 2 -3
7 35
1 2 -3
1 3 -3
1 5 -4
1 7 -3
1 6 1
1 1 9
1 5 4
1 6 15
1 7 -3
1 2 10
1 2 9
2 4 -3
2 6 8
2 5 5
2 7 4
2 7 3
2 6 10
3 3 8
3 5 -4
3 5 13
3 5 -4
3 7 15
3 7 12
3 3 -2
3 3 8
4 5 12
4 5 -1
4 5 11
4 6 12
4 5 -2
5 6 -4
5 7 13
5 6 12
6 7 -3
6 7 4
1 36
1 1 3
1 1 12
1 1 2
1 1 5
1 1 0
1 1 13
1 1 1
1 1 4
1 1 5
1 1 7
1 1 8
1 1 9
1 1 13
1 1 -1
1 1 2
1 1 -3
1 1 -1
1 1 -4
1 1 9
1 1 11
1 1 0
1 1 -4
1 1 2
1 1 1
1 1 9
1 1 -3
1 1 11
1 1 5
1 1 7
1 1 1
1 1 7
1 1 7
1 1 12
1 1 -4
1 1 1
1 1 -1
3 29
1 2 4
1 3 -4
1 2 9
1 3 12
1 2 4
1 3 14
1 2 -1
1 3 -3
1 3 7
1 3 -4
1 2 12
2 3 9
2 3 10
2 3 6
2 2 13
2 3 5
2 2 8
2 2 13
2 3 12
2 3 -1
2 2 -3
2 2 1
2 3 11
2 2 5
2 3 -1
3 3 5
3 3 0
3 3 8
3 3 9
8 42
1 2 1
1 4 -3
1 8 -3
1 8 -4
1 3 2
1 8 7
1 6 15
1 1 -4
1 2 2
1 5 -3
1 3 14
1 6 7
1 4 1
2 3 -4
2 8 14
2 3 15
2 3 8
2 6 -3
2 4 8
2 5 2
3 5 -1
3 6 1
3 7 -3
3 7 5
3 6 4
3 8 14
3 3 9
3 3 9
4 4 7
4 8 0
4 8 -2
4 8 1
4 7 8
5 8 10
5 8 -3
5 6 9
6 7 -4
6 8 6
6 7 10
7 8 8
7 7 4
8 8 0
7 12
1 2 4
1 4 14
1 7 0
1 4 4
2 3 13
2 6 12
3 5 6
3 4 10
3 4 5
4 6 6
4 6 6
5 5 5
7 31
1 2 -3
1 3 -1
1 6 5
1 5 7
1 4 9
1 6 9
1 5 2
1 1 7
1 2 13
1 6 4
2 4 -1
2 4 11
2 6 9
2 7 15
2 5 10
2 4 13
2 2 14
2 6 6
2 2 -1
3 5 1
3 7 -2
3 6 4
4 6 -2
5 7 13
5 5 4
5 6 10
5 7 4
6 6 13
7 7 0
7 7 9
7 7 15
答案如下:
CPPYE5
N0
YE5
YE5
YE5
YE5
YE5
YE5
N0
YE5
回复
共 5 条回复,欢迎继续交流。
正在加载回复...