标签:hdu1073
4 START 1 + 2 = 3 END START 1+2=3 END START 1 + 2 = 3 END START 1 + 2 = 3 END START 1 + 2 = 3 END START 1 + 2 = 4 END START 1 + 2 = 3 END START 1 + 2 = 3 END
Presentation Error Presentation Error Wrong Answer Presentation Error
#include <stdio.h> #include <string.h> #define maxn 5010 char str0[maxn], str1[maxn], buf[maxn]; bool isKong(char ch) { return ch == ' ' || ch == '\n' || ch == '\t'; } int main() { //freopen("stdin.txt", "r", stdin); int t, mode, id0, id1, i, j; bool PE, WA; scanf("%d", &t); while(t--) { mode = id1 = id0 = 0; PE = WA = false; while(gets(buf)) { if(!strcmp(buf, "START")) continue; else if(!strcmp(buf, "END")) { if(++mode == 2) break; else continue; } if(0 == mode) { for(i = 0; buf[i]; ++i) str0[id0++] = buf[i]; str0[id0++] = '\n'; str0[id0] = '\0'; } else { for(i = 0; buf[i]; ++i) str1[id1++] = buf[i]; str1[id1++] = '\n'; str1[id1] = '\0'; } } if(id0 != id1) PE = true; for(i = j = 0; i < id0 && j < id1; ) { bool flag = 0; if(str0[i] != str1[j] && !PE) PE = true; if(isKong(str0[i])) { ++i; flag = 1; } if(isKong(str1[j])) { ++j; flag = 1; } if(flag) continue; if(str0[i++] != str1[j++]) { if(t == 1) printf("%c%c\n", str0[i-1]); WA = true; break; } } if(WA) { printf("Wrong Answer\n"); continue; } while(i < id0) { PE = true; if(isKong(str0[i++])) continue; WA = true; break; } while(j < id1) { PE = true; if(isKong(str1[j++])) continue; WA = true; break; } if(WA) { printf("Wrong Answer\n"); continue; } else if(PE) { printf("Presentation Error\n"); continue; } printf("Accepted\n"); } return 0; }
标签:hdu1073
原文地址:http://blog.csdn.net/chang_mu/article/details/40517949