Programming Challenges Page70를 참고해주세요.
PC/UVa ID: 110201/10038
인기도: A
성공률: 보통
레벨: 1
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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | #include <stdio.h> int can[3005], inspector[3005], n; int main() { while (1) { // 초기화 n = 0; for (int i = 0; i < 3005; i++) { inspector[i] = -2; can[i] = 0; } scanf("%d", &n); if (n == -1) return 0; for (int i = 0; i < n; i++) { scanf("%d", &can[i]); if ((i + 1) != n) inspector[i] = i + 1; // 이놈이 모두 0으로 되면 끝 } for (int i = 0; i < n - 1; i++) { int tmp; if (can[i] - can[i + 1] < 0) tmp = -1 * (can[i] - can[i+1]); else tmp = (can[i] - can[i + 1]); // inspector 탐색 for (int j = 0; j < n - 1; j++) { if (inspector[j] == tmp) { inspector[j] = 0; break; } } } for (int i = 0; i < 3005; i++) { if (inspector[i] == -2) { printf("Jolly\n"); break; } else if (inspector[i] != 0) { printf("Not Jolly\n"); break; } } } } |