http://acm.hdu.edu.cn/showproblem.php?pid=1073
模拟oj判题
随便搞,开始字符串读入的细节地方没处理好,wa了好久
#include <iostream> #include <cstdio> #include <cstring> #include <map> using namespace std ; char s1[100005],s2[100005] ; char s3[100005],s4[100005] ; int main() { int t ; scanf("%d%*c",&t) ; while(t--) { scanf("%*s%*c") ; char ch ; int st=0 ; while(ch=getchar()) { s1[st++]=ch ; if(ch==‘\n‘ && st>3 && s1[st-4]==‘E‘ && s1[st-3]==‘N‘ && s1[st-2]==‘D‘) break ; } s1[st-5]=‘\0‘ ; scanf("%*s%*c") ; st=0 ; while(ch=getchar()) { s2[st++]=ch ; if(ch==‘\n‘ && st>3 && s2[st-4]==‘E‘ && s2[st-3]==‘N‘ && s2[st-2]==‘D‘) break ; } s2[st-5]=‘\0‘ ; if(!strcmp(s1,s2)) { puts("Accepted") ; } else { st=0 ; for(int i=0 ;i<strlen(s1) ;i++) if(s1[i]==‘ ‘ || s1[i]==‘\t‘ || s1[i]==‘\n‘) continue ; else s3[st++]=s1[i] ; s3[st]=‘\0‘ ; st=0 ; for(int i=0 ;i<strlen(s2) ;i++) if(s2[i]==‘ ‘ || s2[i]==‘\t‘ || s2[i]==‘\n‘) continue ; else s4[st++]=s2[i] ; s4[st]=‘\0‘ ; if(!strcmp(s3,s4)) puts("Presentation Error") ; else puts("Wrong Answer") ; } } return 0 ; }
#include <iostream> #include <cstdio> #include <cstring> #include <map> using namespace std ; char s1[100005],s2[100005] ; int main() { int t ; scanf("%d%*c",&t) ; while(t--) { scanf("%*s%*c") ; char ch ; int st=0 ; while(ch=getchar()) { s1[st++]=ch ; if(ch==‘\n‘ && st>3 && s1[st-4]==‘E‘ && s1[st-3]==‘N‘ && s1[st-2]==‘D‘) break ; } s1[st-5]=‘\0‘ ; scanf("%*s%*c") ; st=0 ; while(ch=getchar()) { s2[st++]=ch ; if(ch==‘\n‘ && st>3 && s2[st-4]==‘E‘ && s2[st-3]==‘N‘ && s2[st-2]==‘D‘) break ; } s2[st-5]=‘\0‘ ; if(!strcmp(s1,s2)) { puts("Accepted") ; } else { map <char,int> M1,M2 ; for(int i=0 ;i<strlen(s1) ;i++) M1[s1[i]]++ ; for(int i=0 ;i<strlen(s2) ;i++) M2[s2[i]]++ ; map <char,int> :: iterator it ; int f=1 ; for(it=M1.begin() ;it!=M1.end() ;it++) if(M2[it->first]!=it->second && it->first!=‘ ‘ && it->first!=‘\t‘ && it->first!=‘\n‘) { f=0 ; break ; } if(f) puts("Presentation Error") ; else puts("Wrong Answer") ; } } return 0 ; }