HDU 1073

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 ;

}
View Code
#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 ;

}
View Code

 

你可能感兴趣的:(HDU)