안녕하세요. 오늘은 동체시력을 기를 거에요.

문제

https://www.acmicpc.net/problem/13698

아이디어

그냥 모든 문자를 입력받아서 A부터 F까지로 나누고 경우에 맞게 swap을 해준 다음에 각각의 공이 어디에 있는지 확인해주면 됩니다.

소스코드

#include <iostream>
#include <algorithm>
#define ll long long
using namespace std;

int main()
{
    ios_base::sync_with_stdio(false); cin.tie(NULL);
    ll arr[5] = { 0,1,0,0,2 };
    char c;

    while (cin >> c)
    {
        if (c == 'A') swap(arr[1], arr[2]);
        if (c == 'B') swap(arr[1], arr[3]);
        if (c == 'C') swap(arr[1], arr[4]);
        if (c == 'D') swap(arr[2], arr[3]);
        if (c == 'E') swap(arr[2], arr[4]);
        if (c == 'F') swap(arr[3], arr[4]);
    }

    for (ll i = 1; i <= 4; i++)
        if (arr[i] == 1)
            cout << i << "\n";
    for (ll i = 1; i <= 4; i++)
        if (arr[i] == 2)
            cout << i;
}


감사합니다.

0개의 댓글