码迷,mamicode.com
首页 > 其他好文 > 详细

HDU 1073 Online Judge

时间:2015-03-06 12:43:49      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:c语言   acm   

/*
模拟OJ系统进行测评的过程
如何去测评两组数据呢?完全匹配当然就是AC啦,那PE和WA如何发现呢?
题目思路:
将输入的两组数据去掉'\n','\t' 和' ',得到新的两组数据,
那么这两组数据如果不是完全匹配的,结果一定是WA。
如果这两组匹配了,去掉'\n','\t' 和' '前的不完全匹配则是PE。
如果去掉前的两组数据完全匹配,则是AC。
*/
# include <stdio.h>
# include <string.h>

int main(void)
{
	int T,count= 0;
	char start[10],end[10],str[50],str2[50],cstr[50]={'0'},cstr2[50]={'0'};
	scanf("%d", &T);
	getchar();    //吸收回车符。
	while(T--)
	{ 	
		gets(start);
		gets(str);
		for(int i = 0; i < strlen(str); i++)
		{
			if((str[i] != '\n') && (str[i] != ' ') && (str[i] != '\t'))
			{
				cstr[count] = str[i];
				count++;
			}					
		}
		gets(end);
		while(end[0] == '\0')
		{
			count++;
			str[count] = '\n';
			gets(end);
		}
		count = 0;
		gets(start);
		gets(str2);
		for(int j = 0; j < strlen(str2); j++)
		{
			if((str2[j] != '\n') && (str2[j] != ' ') && (str2[j] != '\t'))
			{
				cstr2[count] = str2[j];
				count++;
			}					
		}
		gets(end);//gets函数会把‘\n’转化成‘\0’
		while(end[0] == '\0')
		{
			count++;
			str2[count] = '\n';
			gets(end);
		}
		count = 0;
		//printf("%s\n", cstr);
		//printf("%s\n", cstr2);
		int flag = strcmp(cstr, cstr2);
		if(flag != 0)
			printf("Wrong Answer\n");
		else if((strcmp(str, str2)) != 0)
			printf("Presentation Error\n");
		else
			printf("Accepted\n");
	}
	return 0;
}

HDU 1073 Online Judge

标签:c语言   acm   

原文地址:http://blog.csdn.net/xu758142858/article/details/44098123

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!