dulox @ 2023-11-16 17:58:16
cin不T快读T?
快读前6个点T后6个点不T ??
cin
by dulox @ 2023-11-16 18:03:33
#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
using namespace std;
const int MAXN=210;
const int MAXM=5010*2;
struct edge{
int nextp;
long long v;
int to;
}e[MAXM];
int eid=2;
int head[MAXN];
int posi[MAXM];
long long vis[MAXN];
long long ans=0;
int n,m,s,t;
void add(int v,int w,long long yi){
edge ret;
ret.to=w;
ret.v=yi;
ret.nextp=head[v];
head[v]=eid;
e[eid]=ret;
eid++;
return;
}
long long read(){
char kl=getchar();
int f=1;
while(kl>'9'||kl<'0'){
if(kl=='-'){
f=-1;
}
}
long long ret=0;
while(kl>='0'&&kl<='9'){
ret=ret*10+kl-'0';
kl=getchar();
}
return f*ret;
}
bool bfs(int x){
memset(vis,0,sizeof(vis));
vis[x]=0x3f3f3f3f;
queue<int>stt;
stt.push(x);
while(!stt.empty()){
int topx=stt.front();
stt.pop();
for(int i=head[topx];i!=0;i=e[i].nextp){
int topt=e[i].to;
long long topv=e[i].v;
if(vis[topt]==0&&topv>0){
vis[topt]=min(vis[topx],topv);
posi[topt]=i;
stt.push(topt);
if(topt==t){
return true;
}
}
}
}
return false;
}
int main(){
n=read(),m=read(),s=read(),t=read();
for(int i=0;i<m;i++){
int vi=read(),wi=read(),ki=read();
add(vi,wi,ki);
add(wi,vi,0);
}
while(bfs(s)){
int stp=t,changev=vis[t];
while(stp!=s){
int way=posi[stp];
e[way].v-=changev;
e[way^1].v+=changev;
stp=e[way^1].to;
}
ans+=changev;
}
printf("%lld",ans);
return 0;
}
by 小小蒲公英 @ 2023-11-16 18:04:42
是不是这里没加kl=getchar()?
while(kl>'9'||kl<'0'){
if(kl=='-'){
f=-1;
}
}
by 小小蒲公英 @ 2023-11-16 18:06:26
@dulox
by dulox @ 2023-11-16 18:07:10
好吧是的。。。
by dulox @ 2023-11-16 18:07:35
谢谢大佬
by Terrible @ 2023-11-16 18:17:26
@dulox 你这个读入也不快啊?为什么叫快读?
和开 O2 关同步流的 cin 比一比。
by fangzichang @ 2023-11-16 18:26:28
@Terrible getchar
在洛谷评测机上很快。我自己测的时候直接 getchar
就比关同步 cin
快,getchar_unlocked
比 fread
还快。
参见
by Sprague_Garundy @ 2023-11-16 18:29:10
@Terrible 所以你认为用 fread
的才叫快读吗(
by Terrible @ 2023-11-16 20:57:15
①我的错,别和 std::cɪn
比了,洛谷上大规模数据测评确实能差出来很多。(我很久之前测过也是这个结果,不过我后面好像看到 std::cɪn
能和这玩意速度齐平?玄学,离谱。)
②依然对“快读”名称存疑,read()
函数是优化读入没有问题(优化不一定快),但是它最大的特征也不是“快”,称为 getchar()
模拟读入函数是更贴切的。
③优化读入在本题意义真的微乎其微,数据量就没多少。这种情况没必要整 read()
,随便用个读入就行了。