【HDOJ】1073 Online Judge
这道题TLE了N多次,完全不明白为什么,稍微改了一下,居然过了。使用gets过的,看讨论帖有人还推荐用hash。
#include <stdio.h>
#include <string.h> #define LOCAL 0
#define MAXNUM 5005
#define isSpace(ch) (ch==' '||ch=='\t'||ch=='\n') char stand[MAXNUM];
char data[MAXNUM];
char word[MAXNUM]; int main() {
int n, len1, len2, i, j, flg;
#if LOCAL
FILE *fout = fopen("data", "w");
#endif
scanf("%d%*c", &n); while (n--) {
scanf("%*s%*c"); // START
len1 = ;
while () {
if (gets(word) == NULL) {
stand[len1++] = '\n';
continue;
}
if ( !strcmp(word, "END") )
break;
strcpy(stand+len1, word);
len1 += strlen(word);
stand[len1++] = '\n';
}
stand[len1++] = '\0';
scanf("%*s%*c"); // START
len2 = ;
while () {
if (gets(word) == NULL) {
data[len2++] = '\n';
continue;
}
if ( !strcmp(word, "END") )
break;
strcpy(data+len2, word);
len2 += strlen(word);
data[len2++] = '\n';
}
data[len2++] = '\0';
#if LOCAL
fprintf(fout, "standard:\n%s", stand);
fprintf(fout, "data:\n%s", data);
#endif
i = j = flg = ;
while (i<len1 && j<len2) {
if (stand[i] == data[j]) {
j++;
i++;
} else {
if ( isSpace(stand[i]) ) {
flg = ;
i++;
} else if ( isSpace(data[j]) ) {
flg = ;
j++;
} else {
flg = ;
break;
}
}
}
if (flg == ) {
printf("Wrong Answer\n");
continue;
}
while (i<len1) {
if ( isSpace(stand[i]) )
flg = ;
else {
flg = ;
break;
}
++i;
}
while (j<len2 && flg!=) {
if ( isSpace(data[j]) )
flg = ;
else {
flg = ;
break;
}
++j;
}
if (flg==)
printf("Wrong Answer\n");
else if (flg==)
printf("Presentation Error\n");
else
printf("Accepted\n");
}
#if LOCAL
fclose(fout);
#endif
return ;
}
【HDOJ】1073 Online Judge的更多相关文章
- 【HDOJ】4729 An Easy Problem for Elfness
其实是求树上的路径间的数据第K大的题目.果断主席树 + LCA.初始流量是这条路径上的最小值.若a<=b,显然直接为s->t建立pipe可以使流量最优:否则,对[0, 10**4]二分得到 ...
- 【HDOJ】4305 Lightning
1. 题目描述当一个结点lightning后,可以向其周围距离小于等于R的结点传播lightning.然后以该结点为中心继续传播.以此类推,问最终形成的树形结构有多少个. 2. 基本思路生成树级数模板 ...
- 【HDOJ】4775 Infinite Go
其实是一道模拟题,并查集用来优化.还可以的一道题目. /* 4775 */ #include <iostream> #include <sstream> #include &l ...
- 【HDOJ】1648 Keywords
PE的注意,如果没有满足条件的不输出空格.简单模拟,暴力解. /* */ #include <iostream> #include <sstream> #include < ...
- 【HDOJ】3337 Guess the number
神一样的题目.简言之,利用手段获得测试用例的第一行,输出结果.很显然利用wa, TLE, OLE等judge status可以获得测试用例.因此,果断Python写一个acm提交机器人.依赖lxml库 ...
- 【HDOJ】【3506】Monkey Party
DP/四边形不等式 裸题环形石子合并…… 拆环为链即可 //HDOJ 3506 #include<cmath> #include<vector> #include<cst ...
- 【HDOJ】【3516】Tree Construction
DP/四边形不等式 这题跟石子合并有点像…… dp[i][j]为将第 i 个点开始的 j 个点合并的最小代价. 易知有 dp[i][j]=min{dp[i][j] , dp[i][k-i+1]+dp[ ...
- 【HDOJ】【3480】Division
DP/四边形不等式 要求将一个可重集S分成M个子集,求子集的极差的平方和最小是多少…… 首先我们先将这N个数排序,容易想到每个自己都对应着这个有序数组中的一段……而不会是互相穿插着= =因为交换一下明 ...
- 【HDOJ】【2829】Lawrence
DP/四边形不等式 做过POJ 1739 邮局那道题后就很容易写出动规方程: dp[i][j]=min{dp[i-1][k]+w[k+1][j]}(表示前 j 个点分成 i 块的最小代价) $w(l, ...
随机推荐
- 第零篇、HTML5简介
1.什么是HTML5? 背景:互联网的快速兴起 1>网页5.0版本 2>2014年才定制HTML5标准 3>移动先行 2.为什么要使用HTML5? 1>跨平台(可以运行所有的浏 ...
- iOS崩溃日志分析
Incident Identifier: 55864905-937C-4172-B435-2ACA13D3070ECrashReporter Key: b85cab13431711060a5fab55 ...
- OpenJudge/Poj 2105 IP Address
1.链接地址: http://poj.org/problem?id=2105 http://bailian.openjudge.cn/practice/2105 2.题目: IP Address Ti ...
- Linux中的磁盘
Linux的磁盘管理 (很重要请注意高能预警) 硬盘:几个盘片,双面,磁性颗粒, 处理速率不同步:借助于一个中间层 文件系统(FileSystem) 可以实现对磁盘行的文件进行读写 文 ...
- 关于php的认识和介绍
php的介绍: 什么是php? <1>:php是一个编程语言 <2>:php是处理php编程语言的一个软件.php语言必须运行在php软件上. 为什么要学习php? php可以 ...
- [C#]对象深拷贝
关键代码: /// <summary> /// 对象深拷贝 /// </summary> /// <typeparam name="T">泛型& ...
- How to fix “Duplicate sources.list entry …” issue
The correct format of repository source line is <type of repository> <location> <di ...
- PHP — 用PHP实现一个双向队列
1.简介 deque,全名double-ended queue,是一种具有队列和栈的性质的数据结构.双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行.双向队列(双端队列)就像是一个队 ...
- redis 安装注意事项
redis安装 1.redis 安装 官网地址:http://redis.io/download $ wget http://download.redis.io/releases/redis-3.0. ...
- ECSHOP模板设置,前台英文后台中文,无需复制
很多做英文站的朋友 只想让前台显示为英文,后台依就保持中文.这个要如何来做呢?网上也看到类似文章,好像还要进行目录复制与覆盖.我下面这个方法更简单,无需复制. 第一步: 通过后台设置实现前台英文.进入 ...