ascode 1167 어디로 간 것일까? #2

1 분 소요

입력 설명

첫 줄에는 테스트케이스 T가 입력된다. (1 ≤ T ≤ 10) 각 테스트케이스에 대해서 첫 줄에 준영이의 집 위치가 (x, y)좌표로 입력된다. (-200 <= x, y <= 200) 다음 줄에는 준영이의 집을 기준으로 양의 위치가 어디인지를 알려줄 문자열이 입력된다. (문자열의 길이는 1 이상 80 이하이다.) 입력되는 문자열는 양이 이동한 8 방향을 나타내는 숫자(1 ~ 8)로만 이루어진다. 각 숫자의 의미는 다음과 같다. 1: 위쪽(y 좌표 하나 증가), 2: 오른쪽위(x 좌표 하나 증가, y 좌표 하나 증가), 3: 오른쪽(x 좌표 하나 증가), 4: 오른쪽아래(x 좌표 하나 증가, y 좌표 하나 감소) 5: 아래쪽(y 좌표가 하나 감소), 6: 왼쪽아래(x 좌표 하나 감소, y 좌표 하나 감소), 7: 왼쪽(x 좌표 하나 감소), 8: 왼쪽위(x 좌표 하나 감소, y 좌표 하나 증가). (아래 그림 참조)

출력 설명

각 테스트 케이스 별로 양이 위치하고 있을 좌표(x, y)를 한 줄에 하나씩 출력한다. x 값과 y 값 사이에는 공백을 하나만 두도록 한다. 만약 점쟁이가 준 쪽지에 어디라도 1~8 이외의 숫자(9 또는 0)가 적혀 있는 경우에는 WRONG! 이라고만 출력한다.

입력 예시

2
-3 5
183726372
0 0
83726474937263718

출력 예시

-3 8
WRONG!

코드

#include <stdio.h>
#include <string.h>
 
int main() {
    int a;
    int b = 0, c = 0, count = 0;
    char x[200];
    scanf("%d", &a);
    for (int i = 0; i < a; i++)
    {
        scanf("%d %d", &b, &c);
        scanf("%s", &x);
 
        for (int i = 0; i < strlen(x); i++)
        {
            if (x[i] == '9' || x[i] == '0')
            {
                count = 0;
                break;
            }
            else
            {
                if (x[i] == '1') {
                    c++;
                    count++;
                }
                else if (x[i] == '2') {
                    b++;
                    c++;
                    count++;
                }
                else if (x[i] == '3') {
                    b++;
                    count++;
                }
                else if (x[i] == '4') {
                    b++;
                    c--;
                    count++;
                }
                else if (x[i] == '5') {
                    c--;
                    count++;
                }
                else if (x[i] == '6') {
                    b--;
                    c--;
                    count++;
                }
                else if (x[i] == '7') {
                    b--;
                    count++;
                }
                else if (x[i] == '8') {
                    b--;
                    c++;
                    count++;
                }
 
            }
        }
        if (count > 0) {
            printf("%d %d\n", b, c);
        }
        else if(count == 0) {
            printf("WRONG!\n");
        }
        count = 0;
    }
	return 0;
}

나 : say

뚜비두바 둠짓둠짓

댓글남기기