http://acm.hdu.edu.cn/showproblem.php?pid=1073
题目大意:给你输入N组表达式,一个是正确的,一个是要核对的。问你这两个之间是什么关系。
void input(char *str)
{
char tmp[N];
//对的输入
getchar();
gets(tmp);
while(gets(tmp) && strcmp(tmp,"END"))
{
if(strlen(tmp)==0)
strcat(str,"/n");
else
strcat(str,tmp);
}
}
void DelChar(char *str,int len)//去掉空格,回车和制表符
{
char tmp[N];
int t=0;
for(int i=0;i<len;i++)
if(!(str[i]==' ' || str[i]=='/t' || str[i]=='/n'))
tmp[t++]=str[i];
tmp[t]='/0';
strcpy(str,tmp);
}
/*判断结果*/
int cmp()
{
int n1,n2;
n1=strlen(str1);
n2=strlen(str2);
if(n1==n2 && !strcmp(str1,str2))
return 1;
DelChar(str1,n1);//puts(str1);
DelChar(str2,n2);//puts(str2);
if(!strcmp(str1,str2))
return 0;
else
return -1;
}
int main()
{
int t,res;
while(scanf("%d",&t)!=EOF)
{
while(t--)
{
memset(str1,0,sizeof(str1));
memset(str2,0,sizeof(str2));
input(str1);
input(str2);
res=cmp();
if(res==1) puts("Accepted");
else if(res==0) puts("Presentation Error");
else if(res==-1) puts("Wrong Answer");
}
}
return 0;
}