(Jizhong) 2408 우유 공장

(파일 IO) : 입력 : factory.in 출력 : factory.out
시간 제한 : 1000 MS 공간 제약 : 262,144킬로바이트의 특정 제한
고토 ProblemSet


제목 설명
우유 양성 사업은 호황을 누리고있다! 에프 아르 자형 미디엄 이자형 아르 자형 제이 시간 농부 존 에서 우유 가공 공장 프로세싱 스테이션은 넘버링 1 N 1 N 100 1 ... N (1≤N≤100 N 1 N-1 채널은 각각은 2 개 가공 스테이션에 연결된다. (채널 구조 때문에, 매우 비싼 F a r m e r J o h n 농부 존 다른 프로세싱 스테이션에서 각각의 공정 스테이션에 도달 할 수 있도록 채널의 최소 개수를) 이용하여 선택.
효율성과 혁신을 개선하기 위해, F a r m e r J o h n 농부 존 콘베이어 각 채널에 설치된다. 불행하게도, 그는 컨베이어 벨트 너무 늦게 한 방법이라는 것을 깨달았을 때, 이제 각 채널은 방향을 따라 전달할 수 있습니다! 그래서 지금의 상황은 더 이상 출발의 각 공정 스테이션에서 다른 처리 스테이션에 도달 할 수 없다.
그러나, F a r m e r J o h n 농부 존 일이 완전히 실패 할 수있다라고 생각 긴 적어도 하나 개의 처리 스테이션있을뿐만 i 나는 처리 스테이션 프로세싱 스테이션에서 서로 접근 할 수있는 만족 i 나는 . 다른로부터 처리 스테이션 유의 j 제이 내가 처리 스테이션을 통해 갈 수도 이동 i 나는 j 제이 사이에 중간 사이트. 도와주세요 F a r m e r J o h n 농부 존 처리 스테이션 제가 존재 하는지를 결정한다.


입력
은 입력의 제 1 라인의 정수를 포함 N , 프로세싱 스테이션의 개수. 다음 N 1 N-1 행은 두 개의 공간으로 분리 정수 포함 a i b i ,满足 1 a i , b i N 1≤ai, bi≤N a i b i 인공 지능 ≠ 양방향 . 이것은 하나 개의 처리 스테이션으로부터 발현 a i 처리 스테이션 b i 의 방향만을 허용하는 이동 벨트 a i b i 이동 방향.

출력
처리 스테이션이 존재하는 경우 i 나는 다른 처리 스테이션 처리 역에서 시작할 수 있습니다 충족에 도달 할 수있다 i 나는 , 최소 출력 조건을 만족 i 나는 . 그렇지 않으면, 출력 1 -1 .


샘플 입력
. (3)
. (1) (2)
. (3) (2)

샘플 출력
2


데이터 범위 제한


아이디어를 문제 해결
포인트가 수행 시작 지점 벨트 (있는 경우 a i ), 그는 심지어 질문하지 복잡한 의미, 그를 향해 지점이되지 않습니다.
그래서,
우리는 출발점 벨트를 찾고되지 않습니다 (하지 a i ) 점,
물론, 포인트가있는 경우 > 1 > 1 점하지 a i 출력 1 -1 .


코드

#include<iostream>
#include<cstring>
#include<string>
#include<cstdio>
#include<algorithm>
#include<iomanip>
#include<cmath>
using namespace std;
int n,a,b,x[110],y[110],ans;
int main(){
    freopen("factory.in","r",stdin);
    freopen("factory.out","w",stdout);
    scanf("%d",&n);
    for(int i=1;i<=n-1;i++)
    {
        scanf("%d%d",&a,&b);
        x[a]++;
        y[b]++;
    }
    ans=-1;
    for(int i=1;i<=n;i++)
    {
        if(x[i]==0&&ans!=-1)  {ans=-1;break;}
        if(x[i]==0) ans=i;
    }
    printf("%d",ans);
}
게시 된 119 개 원래 기사 · 원 찬양 8 · 전망 4897

추천

출처blog.csdn.net/kejin2019/article/details/105281140