#include<stdio.h> bool check[6][6]; char a[40], b[40]; int main() { int i = 0; for (i = 1; i <= 36; i++) { scanf("\n%c%c", &a[i], &b[i]); } if (!(a[1] >= 'A'&&a[1] <= 'F'&&b[1] >= '1'&&b[1] <= '6')) { printf("Invalid"); return 0; } check[a[1] - 'A'][b[1] - '1'] = 1; for (i = 2; i <= 36; i++) { if (!(check[a[i] - 'A'][b[i] - '1'] == 0 && a[i] >= 'A'&&a[i] <= 'F'&&b[i] >= '1'&&b[i] <= '6' && ((a[i - 1] + 1 == a[i] || a[i - 1] - 1 == a[i]) && (b[i - 1] + 2 == b[i] || b[i - 1] - 2 == b[i]) || (a[i - 1] + 2 == a[i] || a[i - 1] - 2 == a[i]) && (b[i - 1] + 1 == b[i] || b[i - 1] - 1 == b[i])))) { printf("Invalid"); return 0; } check[a[i] - 'A'][b[i] - '1'] = 1; } if (!((a[36] + 1 == a[1] || a[36] - 1 == a[1]) && (b[36] + 2 == b[1] || b[36] - 2 == b[1]) || (a[36] + 2 == a[1] || a[36] - 2 == a[1]) && (b[36] + 1 == b[1] || b[36] - 1 == b[1]))) { printf("Invalid"); } else { printf("Valid"); } return 0; }
1331번: 나이트 투어
https://www.acmicpc.net/problem/1331
피드 구독하기:
댓글
(
Atom
)
댓글 없음 :
댓글 쓰기