알고리즘/BOJ

백준 13698번 Hawk eyes

꾸준함. 2018. 5. 23. 00:12

문제 링크입니다: https://www.acmicpc.net/problem/13698


A, B, C, D, E, F에 대해 적절하게 swap 함수를 적용하면 되는 문제였습니다.

C++에서는 swap 함수를 제공하기 때문에 매우 쉬운 문제였습니다.


#include <iostream>

#include <string>

using namespace std;

 

int arr[4];

string S;

 

void printLocation(void)

{

        for (int i = 0; i < S.length(); i++)

        {

                 switch (S[i])

                 {

                 case 'A':

                         swap(arr[0], arr[1]);

                         break;

                 case 'B':

                         swap(arr[0], arr[2]);

                         break;

                 case 'C':

                         swap(arr[0], arr[3]);

                         break;

                 case 'D':

                         swap(arr[1], arr[2]);

                         break;

                 case 'E':

                         swap(arr[1], arr[3]);

                         break;

                 case 'F':

                         swap(arr[2], arr[3]);

                         break;

                 }

        }

        //작은 공

        for (int i = 0; i < 4; i++)

                 if (arr[i] == 1)

                         cout << i + 1 << endl;

        //큰 공

        for (int i = 0; i < 4; i++)

                 if (arr[i] == 2)

                         cout << i + 1 << endl;

}

 

int main(void)

{

        cin >> S;

 

        arr[0] = 1; //작은 공

        //0은 비어있는 컵

        arr[3] = 2; //큰 공

 

        printLocation();

        return 0;

}


개발환경:Visual Studio 2017


지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

반응형

'알고리즘 > BOJ' 카테고리의 다른 글

백준 13700번 완전 범죄  (0) 2018.05.24
백준 13699번 점화식  (0) 2018.05.23
백준 15719번 중복된 숫자  (0) 2018.05.22
백준 2482번 색상환  (4) 2018.05.19
백준 1753번 최단경로  (4) 2018.05.19