HDU 1073 内容相等判断
来源:互联网 发布:java开发单元测试 编辑:程序博客网 时间:2024/04/30 07:42
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1073
Online Judge
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7804 Accepted Submission(s): 2906
Problem Description
Ignatius is building an Online Judge, now he has worked out all the problems except the Judge System. The system has to read data from correct output file and user's result file, then the system compare the two files. If the two files are absolutly same, then the Judge System return "Accepted", else if the only differences between the two files are spaces(' '), tabs('\t'), or enters('\n'), the Judge System should return "Presentation Error", else the system will return "Wrong Answer".
Given the data of correct output file and the data of user's result file, your task is to determine which result the Judge System will return.
Given the data of correct output file and the data of user's result file, your task is to determine which result the Judge System will return.
Input
The input contains several test cases. The first line of the input is a single integer T which is the number of test cases. T test cases follow.
Each test case has two parts, the data of correct output file and the data of the user's result file. Both of them are starts with a single line contains a string "START" and end with a single line contains a string "END", these two strings are not the data. In other words, the data is between the two strings. The data will at most 5000 characters.
Each test case has two parts, the data of correct output file and the data of the user's result file. Both of them are starts with a single line contains a string "START" and end with a single line contains a string "END", these two strings are not the data. In other words, the data is between the two strings. The data will at most 5000 characters.
Output
For each test cases, you should output the the result Judge System should return.
Sample Input
4START1 + 2 = 3ENDSTART1+2=3ENDSTART1 + 2 = 3ENDSTART1 + 2 = 3ENDSTART1 + 2 = 3ENDSTART1 + 2 = 4ENDSTART1 + 2 = 3ENDSTART1+2=3END
Sample Output
Presentation ErrorPresentation ErrorWrong AnswerPresentation Error
代码如下:
#include<iostream>using namespace std;const int maxn = 5000;char inputOrigal[maxn + 5]; //源文件char inputNew[maxn + 5]; //用户文件int lenOri = 0;// 源文件长度int lenNew = 0; //用户文件长度bool judge(char str[],int n){ /*判断结尾标志 此处很巧妙 因为开头好处理,但是结尾不知道在哪*/if (str[n] == '\n'&&str[n - 1] == 'D'&&str[n - 2] == 'N'&&str[n - 3] == 'E'&&str[n - 4] == '\n') {return true;}return false;}bool judgeChar(char ch) { /*判断空格 跳格 回车*/if (ch == ' ' || ch == '\t' || ch == '\n')return true;return false;}int main() {int numTest;cin >> numTest;while (numTest--) {char startTag[6];cin >> startTag;if (strcmp(startTag, "START") == 0) { /*判断开头*/int indexOrigal = 0;getchar();while (1) { /*存文件*/inputOrigal[indexOrigal] = getchar();if (judge(inputOrigal,indexOrigal)) {break;}indexOrigal++;}lenOri = indexOrigal - 4;/*记录文件长度 此处减去结尾标志*/}cin >> startTag;if (strcmp(startTag, "START") == 0) {int indexOrigal = 0;getchar();while (1) {inputNew[indexOrigal] = getchar();if (judge(inputNew,indexOrigal)) {break;}indexOrigal++;}lenNew = indexOrigal - 4;}bool accepet = true; bool repretation = true;bool wrong = true;int oriFlag = 0, newFlag = 0;if (lenOri != lenNew)accepet = false;else {int i = 0;while (i < lenOri) {if (inputOrigal[i] != inputNew[i]) {accepet = false;break;}i++;}}while (1) {while (oriFlag < lenOri&&judgeChar(inputOrigal[oriFlag]))oriFlag++;while (newFlag < lenNew&&judgeChar(inputNew[newFlag]))newFlag++;if (oriFlag >= lenOri&&newFlag>=lenNew)break;else if (oriFlag >= lenOri || newFlag>=lenNew) {repretation = false;break;}else if (inputOrigal[oriFlag] != inputNew[newFlag]) {repretation = false;break;}else {oriFlag++;newFlag++;}}if (accepet)printf("Accepted\n");else if(repretation)printf("Presentation Error\n");elseprintf("Wrong Answer\n");}}
0 0
- HDU 1073 内容相等判断
- 判断两个对象内容相等
- 判断两个对象内容相等
- HDU 2054 判断大数是否相等
- 判断两个对象内容相等与equals方法
- 如何判断两个char*所含内容是否相等
- 判断两个循环链表内容是否相等
- 相等判断
- c# 关于相等判断
- 判断相等的宏
- Java判断字符串相等
- double类型相等判断
- integer相等判断
- 判断两棵树是否相等
- 实数相等的判断
- java判断字符串相等
- jquery字符串相等判断
- 判断两棵树是否相等
- 我们公司(创业公司)目前的组织架构-部门划分和部门职能
- java集合使用方法
- 检测Android系统是否是MIUI
- Nginx反向代理、CORS、JSONP等跨域请求解决方法总结
- Django south 使用指南
- HDU 1073 内容相等判断
- java基础篇笔记<二>
- system表空间用满解决 方法
- CentOS7.0设置中文输入法
- 面对生活,需要一颗乐观的心
- 最大的算式
- IT行业哪个方向更有前途
- python小试牛刀之一
- 输入一个字符串,计算字符串中子串出现的次数