社区讨论
题解的思路但为什么过不了啊?
P1656炸铁路参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @lo2tef2m
- 此快照首次捕获于
- 2023/10/23 19:28 2 年前
- 此快照最后确认于
- 2023/10/23 19:28 2 年前
CPP
#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
int n,m,fa[200],b[200];
struct node {
int x,y;
} a[5010];
inline bool cmp(node x,node y) {
if(x.x==y.x) {
return x.y<y.y;
} else {
return x.x<y.x;
}
}
inline int findd(int x) {
if(fa[x]==x) {
return x;
} else {
return fa[x]=findd(fa[x]);
}
}
inline void finding(int x,int y) {
int xx=findd(x),yy=findd(y);
fa[yy]=fa[xx];
}
int main() {
ios::sync_with_stdio(0);
cin>>n>>m;
for(int i=1; i<=m; i++) {
cin>>a[i].x>>a[i].y;
if(a[i].y<a[i].y){
swap(a[i].x,a[i].y);
}
}
sort(a+1,a+m+1,cmp);
for(int i=1;i<=m ;i++){
int f=0;
for(int j=1;j<=n;j++){
fa[j]=j;
}
for(int j=1;j<=m;j++){
if(j!=i){
finding(a[j].x,a[j].y);
}
}
for(int j=2;j<=n;j++){
if(fa[findd(j)]!=fa[findd(j-1)]){
cout<<a[i].x<<" "<<a[i].y<<endl;
break;
}
}
}
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...