社区讨论
我的程序发生了什么???
P2863[USACO06JAN] The Cow Prom S参与者 3已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mi7wlz3m
- 此快照首次捕获于
- 2025/11/21 04:48 4 个月前
- 此快照最后确认于
- 2025/11/21 04:48 4 个月前
-
求救~555
代码编译后会报错DEv显示:G:……\collect2.exe [Error] ld returned 1 exit status
- 而咕咕的IDE显示编译错误,提示No valid executable file was produced by the compiler
#include<bits/stdc++.h>
#define rt register int
using namespace std;
const int _=1e5;
int n,m,tot,num,top,cnt;
int head[_],ver[_],nxt[_],dfn[_],low[_];
int st[_],ins[_],c[_];
vector<int>scc[_];
inline void add(int x,int y){
ver[++cnt]=y,nxt[cnt]=head[x],head[x]=cnt;
}
inline void tarjan(int x){
dfn[x]=low[x]=++num;
st[++top]=x,ins[x]=1;
for(rt i=head[x];i;i=nxt[i]){
int v=ver[i];
if(!dfn[v]){
tarjan(v);
low[x]=min(low[x],low[v]);
}
else if(ins[v])low[x]=min(low[x],dfn[v]);
if(dfn[x]==low[x]){
cnt++;int y;
do{
y=st[top--],ins[y]=0;
c[y]=cnt,scc[cnt].push_back(y);
}while(x!=y);
}
}
}
int mian(){
scanf("%d%d",&n,&m);
rt i;
for(i=1;i<=m;++i){
int u,v;
scanf("%d%d",&u,&v);
add(u,v);
}
for(i=1;i<n;++i)
if(!dfn[i])tarjan(i);
cout<<cnt;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...