HDU 1073

http://acm.hdu.edu.cn/showproblem.php?pid=1073

模拟oj判题

随便搞,开始字符串读入的细节地方没处理好,wa了好久

HDU 1073
#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
HDU 1073
#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 1073

上一篇:字符串模式匹配算法2 - AC算法


下一篇:Git 常用情景