[rqnoj 378] 데이트 계획

7920 단어 계획
제목 설명
cc 는 아주 멋 진 남자 입 니 다. 말솜씨 도 좋 고 rp 가 아주 높 습 니 다.그러나 가장 중요 한 것 은 cc 가 각 여동생 간 의 관 계 를 잘 조정 할 수 있다 는 것 이다.mm 간 의 관계 와 복잡 함, cc 는 반드시 그들 간 의 친구 관 계 를 엄 격 히 파악 해 야 한다. 같이 나 가자 고 약속 해 야 한다. cc 는 친구 가 아 닌 두 mm 와 놀 러 가면 결 과 는 상상 조차 할 수 없다.
cc 는 mm 사이 의 관계 만 파악 하고 있 지만 cc 는 비교적 똑똑 하 다. 그 는 a 와 b 가 친구 이 고 b 와 c 가 친구 라 는 것 을 알 고 있다. 그러면 a 와 c 도 친구 이다.
다음은 m 대 친구 관계, cc 는 p 번 데 이 트 를 정 했 습 니 다. 매번 데 이 트 를 할 때 두 mm 를 찾 습 니 다. 만약 에 이 두 mm 가 친구 라면 사고 가 나 지 않 고 'safe' 를 출력 합 니 다. 친구 가 아니면 cc 는 반드시.....................................
【 데이터 범위 】
00입력 형식 첫 번 째 행동 n, m, p.n. mm 의 수량, cc 는 m 가 친구 관 계 를 알 고 p 번 데이트 가 있 습 니 다.
 
2 ~ n + 1 줄, 줄 마다 하나의 문자열, i 번 째 mm 의 이름 입 니 다.{문자열 길이 < = 11, 전체 대문자}
다음 m 줄 은 줄 마다 두 개의 문자열 을 빈 칸 으로 구분 하여 친구 관계 가 있 는 두 mm 의 이름 입 니 다.
다음 p 줄 은 행동 마다 두 개의 문자열 을 빈 칸 으로 구분 하여 이번 p 번 데이트 에서 두 mm 의 이름 을 표시 합 니 다.
{데이터 에 나타 나 지 않 은 이름 이 나타 나 지 않도록 보증 합 니 다}
출력 형식 출력 P 줄 은 i 번 째 데이트 의 경우 'safe' 또는 'cc cry' 를 출력 합 니 다.
 
샘플 입력
3 1 1AAABBBCCCAAA CCCAAA BBB
샘플 출력
cc cry
해제
  템 플 릿 을 찾 아 봤 는데...
 1 #include<iostream>

 2 #include<cstdio>

 3 #include<algorithm>

 4 #include<string.h>

 5 #include<math.h>

 6 #include<map>

 7 #define inf 10000000

 8 using namespace std;

 9 map<string,int>ms;

10 int parent[2010];

11 int yxc(int x)

12 {

13     if(x!=parent[x]) parent[x]=yxc(parent[x]);

14     else return x;

15 }

16 void add(int x,int y)

17 {

18     int i,j;

19     i=yxc(x);

20     j=yxc(y);

21     if(i!=j)

22         parent[i]=j;

23 }

24 int main()

25 {

26     int n,m,p;

27     string a;

28     string b;

29     scanf("%d%d%d",&n,&m,&p);

30     for(int i=1; i<=n; i++)

31     {

32         cin>>a;

33         ms[a]=i;

34         parent[i]=i;

35     }

36     for(int i=1; i<=m; i++)

37     {

38         cin>>a>>b;

39         add(ms[a],ms[b]);

40     }

41     for(int i=1; i<=p; i++)

42     {

43         cin>>a>>b;

44         int x=ms[a];

45         int y=ms[b];

46       //  printf("%d %d
",x,y);
47 if(yxc(x)==yxc(y)) 48 { 49 printf("safe
"); 50 } 51 else printf("cc cry
"); 52 53 } 54 return 0; 55 }

좋은 웹페이지 즐겨찾기