ascode 1167 어디로 간 것일까? #2
입력 설명
첫 줄에는 테스트케이스 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
뚜비두바 둠짓둠짓
댓글남기기