본문 바로가기

알고리즘/백준

백준1384-메시지(브론즈1)

반응형

문제출처 : https://www.acmicpc.net/problem/1384

 

1384번: 메시지

문제 Misfits 아카데미는 문제아들을 위한 치유 시간을 도입했습니다. 그 중 한 가지 활동은 아이들이 타인에 대해 예의를 갖출 수 있도록 고안되었으며, 내용은 아래와 같습니다. 아이들은 원형��

www.acmicpc.net

문제풀이) 문제를 이해 하면 원형구조의 자료구조를 생각해 주면 된다.

데이터를 분석해 보면 자신을 기준으로 앞쪽으로 보면 된다.

Ann P N P P 인 경우를 살펴 보면 

처음 P는 Eunice 인것을 알 수 있고 그 다음 N이 Debby 인것을 알 수 있다.

따라서 Debby 에서 Ann 을 출력 해 주면 된다.

 

#include <iostream>

using namespace std;

struct data{
    char name[100];
    char memo[100];
}child[60];


int main()
{
    int groupnum = 1;
    while(1){
        int n;
        cin >> n;
        if(n==0) break;
        for(int i=0;i<n;i++)
        {
            cin >> child[i].name;
            for(int j=0;j<n-1;j++) cin >> child[i].memo[j];
        }

        cout << "Group " << groupnum++ << endl;
        int flag=0;
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<n-1;j++)
            {
                if(child[i].memo[j] == 'N')
                {
                    int index = n + i-1 - j;
                    index = index % n;
                    cout << child[index].name << " was nasty about " << child[i].name << endl;
                    flag = 1;
                }
            }
        }
        if(flag == 0)
        {
            cout << "Nobody was nasty" << endl;
        }
        cout <<endl;
    }
    return 0;
}
반응형