您的t当然一直在变啊,变量名推荐写的大众一点
此处:
for(int t=headers[u]; t ; t = que[t].next)
t的值固然会改变啊
by Soulist @ 2018-08-07 17:48:27
您写出i之类的应该就没事了
by Soulist @ 2018-08-07 17:48:44
特别好奇您是怎么拿70分的%%%
by Soulist @ 2018-08-07 17:50:20
@[Hakuryu_CYZ](/space/show?uid=30036)
突然发现我智障了。还是感谢神仙。
by walk_alone @ 2018-08-07 20:39:46
@[walk_alone](/space/show?uid=80026) 我是蒟蒻QWQ
by Soulist @ 2018-08-07 20:52:13
@[Hakuryu_CYZ](/space/show?uid=30036)
好了也不扯这个事,但问题是现在改过来还是70,但是没那个加不加参数的问题了。重边的问题也考虑了,但为什么又只有60?
by walk_alone @ 2018-08-07 21:00:26
@[walk_alone](/space/show?uid=80026) 洛谷的消息延时好大QWQ
(一直泡在小号上写题233)
推荐您把手写的队列改成STL,之前我写网络流的时候反正手写的队列就是过不了233
以及,网络因为cnt是从0开始计数的,所以在对边进行访问的时候不能写:
```
for(int i = head[x]; i; i = e[i].next)
```
这样的QWQ,主要是i = 0有两种情况,1是第一条边,2是终止条件
所以我一般都是用-1或者讲cnt初始化为2
以及,您是把所有循环中的t都改过来了吗?
bfs里面也有t
by Soulist @ 2018-08-07 21:43:46
对了,这道题数据超级水,这段代码有70分:
```
#include<bits/stdc++.h>
using namespace std;
int ans,n,m,u,v,w,s,t,minn;
int main()
{
cin>>n>>m>>s>>t;
for(int i=1;i<=m;i++)
{
cin>>u>>v>>w;
if(u == s) minn += w;
if(v==t)
ans+=w;
}
cout<<min(minn, ans);
return 0;
}
```
by Soulist @ 2018-08-07 21:44:38
@[walk_alone](/space/show?uid=80026)
对了,您的cnt好像是从1开始的QWQ?
1^1 = 0且0^1 = 1来着如果我没记错
反正好像是如果要用x^1表示它的反向边,要从0开始计数,反正从偶数开始,抱歉,没注意到
by Soulist @ 2018-08-07 21:48:50
@[Hakuryu_CYZ](/space/show?uid=30036) 问题正是这里,感谢神仙,%%%。
by walk_alone @ 2018-08-07 22:21:49