XHAENEUNG 문제 질문 드립니다. gimmetheone 0ms 에서 오답이라고 판정이 됩니다. 예제를 많이 대입해봤는데 제가 할 때는 답이 오답이 나오지는 않습니다만, 0ms 오답이 고쳐지지 않아서 질문드립니다. ㅠㅠ #include <stdio.h> //URI Decoding int categorize(char buffer[]) { int i = 0; int count = 0; int count2 = 0; if (buffer[i] == '-') { return -100; } for (i = 0, count = 0; buffer[i] - 'a' >= 0 && buffer[i] - 'a' <= 25; i++) { count += buffer[i]; count2++; } switch (count)//0~9 { case 448: if (count2 == 4) return 0; else return -100; break; case 322: if (count2 == 3) return 1; else return -100; break; case 346: if (count2 == 3) return 2; else return -100; break; case 536: if (count2 == 5) return 3; else return -100; break; case 444: if (count2 == 4) return 4; else return -100; break; case 426: if (buffer[i - 1] == 'v' || buffer[i - 2] == 'v' || buffer[i - 3] == 'v' || buffer[i - 4] == 'v') { if (count2 == 4) { return 5; } else { return -100; } } else { if (count2 == 4) { return 9; } else { return -100; } } break; case 340: if (count2 == 4) return 6; else return -100; break; case 545: if (count2 == 4) return 7; else return -100; break; case 529: if (count2 == 4) return 8; else return -100; break; case 327: if (count2 == 4) return 10; else return -100; break; default: return -100; break; } } int rethink(int z, char susBuffer[]) { int i, j; i = j = 0; char buffer[11][10] = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten" }; char calBuffer[10] = { 0 }; int count = 0; for (i = 0; i < 10; i++) { calBuffer[i] = buffer[z][i] - susBuffer[i]; } for (i = 0; i < z; i++) { count += calBuffer[i]; } if (count == 0) { return z; } else { return -100; } } void say(int x, int y, int z, char operation) { if (z > 0 && z <= 10) { if (operation == '+') { if (x + y == z && x + y <= 10 && x + y >= 0) { printf("YES\n"); } else { printf("NO\n"); } } else if (operation == '-') { if (x - y == z && x - y < 10 && x - y >= 0) { printf("YES\n"); } else { printf("NO\n"); } } else if (operation == '*') { if (x * y == z && x * y < 10 && x * y >= 0) { printf("YES\n"); } else { printf("NO\n"); } } else if (operation == '/') { if (x / y == z && x / y < 10 && x / y >= 0) { printf("YES\n"); } else { printf("NO\n"); } } } else { printf("NO\n"); } } int main(void) { int testCase; scanf("%d", &testCase); int i, j, k; int x, y, z; i = j = k = x = y = z = -1; char buffer[3][20] = { -1 }; char operation = 0; char equal = 0; int count = 0; while (testCase-- > 0) { scanf("%s %c %s %c %s", buffer[0], &operation, buffer[1], &equal, buffer[2]); x = categorize(buffer[0]); y = categorize(buffer[1]); z = categorize(buffer[2]); z = rethink(z, buffer[2]); say(x, y, z, operation); for (i = 0; i < 3; i++) { for (j = 0; j < 20; j++) { buffer[i][j] = 0; } } } return 0; } 7년 전
0개의 댓글이 있습니다. 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
gimmetheone
0ms 에서 오답이라고 판정이 됩니다.
예제를 많이 대입해봤는데 제가 할 때는 답이 오답이 나오지는 않습니다만,
0ms 오답이 고쳐지지 않아서 질문드립니다. ㅠㅠ
7년 전