제8 회 블 루 브리지 컵 C 언어 B 조 국전 - 발견 링

샤 오 밍 의 실험실 에는 N 대의 컴퓨터 가 있 고 번호 가 1 ~ N 이다.원래 이 N 대 컴퓨터 사이 에는 N - 1 개의 데이터 링크 가 연결 되 어 있 었 는데 마침 트 리 네트워크 를 구성 했다.트 리 네트워크 에 서 는 임의의 두 컴퓨터 사이 에 유일한 경로 가 연결 되 어 있다.
그러나 최근 에 네트워크 를 유지 할 때 관리자 의 오 작 동 으로 인해 두 컴퓨터 사이 에 데이터 링크 가 추가 되 었 고 네트워크 에 순환 도로 가 생 겼 다.순환 도로 의 컴퓨터 는 두 사이 에 더 이상 하나의 경로 가 아니 기 때문에 이 컴퓨터 의 데이터 전송 에 BUG 가 생 겼 다.
정상 적 인 전송 을 위해 서샤 오 밍 은 순환 도로 에 있 는 모든 컴퓨터 를 찾 아야 하 는데, 당신 은 그 를 도와 줄 수 있 습 니까?
입력
-----
첫 줄 에는 정수 N 이 포함 되 어 있 습 니 다.
아래 N 줄 은 줄 마다 두 개의 정수 a 와 b 로 a 와 b 사이 에 데이터 링크 가 연결 되 어 있 음 을 나타 낸다.
30% 의 데이터 에 대해 1 < = N < = 1000
100% 의 데이터 에 대하 여 1 < = N < = 100000, 1 < = a, b < = N
입력 보증 합 법.
출력
----
작은 것 부터 큰 것 까지 순환 도로 에 출력 되 는 컴퓨터 의 번 호 는 중간 에 빈 칸 으로 구 분 됩 니 다.
샘플 입력:
5
1 2
3 1
2 4
2 5
5 3
샘플 출력:
1 2 3 5
자원 약정:
최대 메모리 소모 < 256 M
CPU 소모  < 1000ms
요구 에 따라 출력 을 엄 격 히 하 십시오. "입력 하 십시오." 와 같은 불필요 한 내용 을 사족 으로 인쇄 하지 마 십시오.
모든 코드 를 같은 원본 파일 에 넣 고 디 버 깅 을 통과 한 후 복사 하여 원본 코드 를 제출 합 니 다.
메모: main 함 수 는 0 을 되 돌려 야 합 니 다.
메모: ANSI C / ANSI C + + 표준 만 사용 하고 컴 파일 환경 이나 운영 체제 에 의존 하 는 특수 함 수 를 호출 하지 마 십시오.
메모: 모든 의존 함 수 는 원본 파일 에 명확 하 게 있어 야 합 니 다. \ # include 는 프로젝트 설정 을 통 해 상용 헤더 파일 을 생략 할 수 없습니다.
제출 할 때 원 하 는 컴 파일 러 형식 을 선택 하 십시오.
    + dfs
```cpp
#include 
using namespace std;
vector a[100002];
int fa[100002];
bool b[100002];
int s[100002];
void dfs(int x, int y,int num)
{
    b[x] = 1;
    s[num] = x;
    if (x == y)
    {
        s[num+1]=y;
        sort(s,s+num+1);
        for(int i=0;i> n;
    for(int i=1;i<=n;i++)
    fa[i]=i;
    for (int i = 0; i < n; i++)
    {
        int x, y;
        cin >> x >> y;
         int ru = findfa(x), rv = findfa(y);
            if(ru == rv){
                dfs(x,y,0);
                break;
            }
            else {
                fa[ru] = rv;
                a[x].push_back(y);
                a[y].push_back(x);
            }
    }
    return 0;
}
```

좋은 웹페이지 즐겨찾기