본문 바로가기

Algorithm/Dovelet

속임수/coci_trik/통과율(63%)

문제: http://183.106.113.109/30stair/coci_trik/coci_trik.php?pname=coci_trik

 

  문제 요약

 

컵이 3개 있고, 최초 왼쪽 컵에 공을 넣었다. 이리저리 섞은 후 최후에 공이 들어 있는 컵을 맞추는 문제다.

 

인풋값으로 A, B 또는 C가 주어질 수 있고, 최대 50번까지 섞는게 가능하다.

 

A는 왼쪽과 중간 컵의 위치를 바꾸는 것이다.

B는 중간과 오른쪽 컵의 위치를 바꾸는 것이다.

C는 왼쪽과 오른쪽 컵의 위치를 바꾸는 것이다.

 

 Code


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <stdio.h>
#pragma warning(disable:4996)
 
char order[51];
int ball[3] = {1, 0, 0};
 
int main(void)
{
    int i, tmp;
    scanf("%s", &order);
 
    for (i = 0; i < 51; i++)
    {
        if (order[i] == '\0')
            break;
 
        switch (order[i])
        {
        case 'A':            
            tmp = ball[0];
            ball[0] = ball[1];
            ball[1] = tmp;
            break;
        case 'B':
            tmp = ball[1];
            ball[1] = ball[2];
            ball[2] = tmp;
            break;
        case 'C':
            tmp = ball[0];
            ball[0] = ball[2];
            ball[2] = tmp;
            break;
        }
    }
 
    if (ball[0] == 1)    
        printf("1");    
    else if (ball[1] == 1)    
        printf("2");    
    else    
        printf("3");    
}


'Algorithm > Dovelet' 카테고리의 다른 글

josephus / 통과율(51%)  (0) 2014.07.02
Block/통과율(61%)  (0) 2014.07.02
[Dynamic Programming]scv 자원 채취  (0) 2014.04.08
[Dovelet] 친구수/amicable  (0) 2013.07.21
[C]약수 구하기  (0) 2013.07.19