山东理工热身赛
Special Judge Ⅰ
Problem Description
SDUT OJ 上默认的评测机制是严格 ICPC 模式,它要求提交的程序运行输入数据后的输出结果和标准答案完全一致。
而 Special Judge 是一种特殊的评判模式,它允许程序的输出结果和测试数据(标准答案)在一定范围内即使不同,也可以被判定为 Accepted。
通常,Special Judge 会通过运行一个特判程序来检测用户的输出是否符合要求。
现在以最简单的浮点数误差的特判程序为例,假设允许的最大浮点误差为 eps = 1e-2(即 10^(-2) = 0.01),如果用户的输出为 0.125,测试数据为 0.128,则误差为 0.003 < 1e-2,判定为 Accepted。代码实现如下:
if(fabs(user_out - std_out) <= eps) { printf("Accepted\n"); } else { printf("Wrong Answer\n"); }
现在 Stone 提交了若干次代码,你需要写一个特判程序来判断他的答案是否正确。
不过出题人并没有告诉你他想设置的 eps 是多少,只告诉你范围是 1e0, 1e-1, 1e-2, 1e-3, 1e-4, ..., 1e-14 这十五个中的一个,你需要猜一个 eps 并写出符合要求的特判程序。
Input
输入数据有多组(数据组数不超过 100),到 EOF 结束。
对于每组数据,输入 2 个浮点数 a, b,其中 a 表示 Stone 的程序运行结果,b 表示后台测试数据。
保证 a, b 均在 double 范围内。
Output
对于每组数据,如果 Stone 的程序正确,输出一行 "Accepted",否则输出一行 "Wrong Answer"(输出不包括引号)。
Example Input
1.00 1.0 62.55 66.233
Example Output
Accepted Wrong Answer
Hint
示例 C 语言代码中,fabs() 是绝对值函数,需要头文件 math.h
。
精度误差 eps 建议定义为 double 型,例如,猜 eps 为 1e-6,则写成:double eps = 1e-6;
请使用 double 型读入数据。
hint:这道题eps为1e-9;
Special Judge Ⅱ
Problem Description
Q:什么是 Special Judge,Special Judge 的题目有什么不同?
A:一个题目可以接受多种正确答案,即有多组解的时候,题目就必须被 Special Judge。Special Judge 程序使用输入数据和一些其他信息来判答程序的输出,并将判答结果返回。
NaYe 最近遇到了一个题,要求输出三个数,第三个数为前两个数的和,三个数都是素数,且前两个数小于 500000。他只需要输出任意一组符合要求的答案即认为是 Accepted。现在需要你做的是判断 NaYe 的程序运行结果对不对。
Input
输入数据有多组(数据组数不超过 100),到 EOF 结束。
每组数据输入 a, b, c 三个整数。含义同题目描述。
a, b, c 均在 int 范围内。
Output
对于每组数据,如果 NaYe 的程序正确输出 “Accepted”,否则输出 “Wrong Answer”(输出不包括引号)。
Example Input
1 1 1 2 3 5 3 5 8
Example Output
Wrong Answer Accepted Wrong Answer
Hint
Author
#include<math.h>
bool IsPrime( int num )
{
int tmp =sqrt( num*1.0);
if(num<2)
return false;
for(int i= 2;i <=tmp; i++)
if(num %i== 0)
return false ;
return true ;
}
int main(){
int a,b,c;
while(scanf("%d%d%d",&a,&b,&c)!=EOF)
{
if(a+b == c){
if(IsPrime(a)==true && IsPrime(b)==true && IsPrime(c)==true)
{
if(a<500000 && b<500000)
printf("Accepted\n");
}
else
printf("Wrong Answer\n");
}
else
printf("Wrong Answer\n");
}
return 0;
}
Special Judge Ⅲ
Problem Description
Q:什么是 Special Judge,Special Judge 的题目有什么不同?
A:一个题目可以接受多种正确方案,即有多组解的时候,题目就必须被 Special Judge。Special Judge 程序使用输入数据和一些其他信息来判答你程序的输出,并将判答结果返回。
不抽黑贞与咸鱼有什么区别?
5月3日 FGO(Fate/Grand Order) 赝作活动来袭,MLE 开始了他的玄学抽卡:
他在 n 个小方块上写上数字,并按照先后顺序往上堆,在堆的过程中他会随机性的把上面的小方块抽走,堆完以后再依次从上往下把剩余没抽完的小方块抽走。按照小方块抽走的先后顺序排列开来(先拿走的小方块放最前面),之后再随机选择一个小方块,这个小方块上面的数字就表示活动开始以后的若干秒后开始抽卡。
不幸的是由于过于激动把小方块抽走的先后顺序给忘了,MLE 向闲来无事的 keke 求助,让他给出一个序列看自己能不能想起来,但为了避免浪费时间,MLE 希望 keke 给出的序列符合小方块抽走后排列的顺序,现在问题留给你,由你来判断这个序列是否合法。
Input
多组数据输入直到文件结尾。
第一行先输入一个数 n (0 <= n <= 1000) 表示小方块的个数。
第二行输入 n 个数表示小方块上的数字,均为正整数。
第三行输入 keke 给出的序列,长度与小方块个数一致。
所有数据范围均为 [0, 1000]。
Output
Keke 的答案正确输出 "Accepted",否则输出 "Wrong Answer"(不包括引号)。
Example Input
5 1 2 3 4 5 5 4 3 2 1
Example Output
Accepted
Hint
当 n 为 0 时认为是 "Accepted"。
Author
利用出栈
疯狂的bLue
Problem Description
众所周知神秘的 ACM 实验室有一个史诗级的出题狂魔,名曰--bLue。最近 bLue 又露出了邪恶的笑,原来是 bLue 接了为校赛出题的单子。
距离校赛开始还有 N 小时,由于各种奇怪的原因出题组可以出题的时间并不固定,大致可以分为M个时间段。每个时间段可以出的题目数也可能不同。同时由于出题是个煞费心血的事情,所以每个出题时间段结束后,善良的bLue会让大家休息 R (1 ≤ R ≤ N ) 小时,以便为接下来的出题事业继续奋斗。
为了能为校赛准备尽可能多的题目以备不时之需,bLue 需要好好地规划好这 N 小时如何安排,当然作为唯一的长者,bLue 一下子就为大家规划好了如何安排出题的时间段。
现在 bLue 想考考你在他完美的安排下出题组最多可以出多少个题目?
Input
测试数据有多组,输入直到文件结束
第一行输入三个数 N (1 ≤ N ≤ 1,000,000), M (1 ≤ M ≤ 1,000), R (1 ≤ R ≤ N)。
接下来有 M 行输入,每一行输入三个数 Si (0 ≤ Si < N), Ei (Si < Ei ≤ N) ,Vi (1 ≤ Vi ≤ 1,000,000), (0 < i <= M),分别表示为第 i 个时间段的开始时间,第 i 段的结束时间,第 i 个时间段可以出的题目数。
Output
对于每组数据输出出题组最多可以出的题的数目。
Example Input
15 5 3 1 4 5 6 9 4 3 5 2 7 10 8 11 15 2
Example Output
13
Hint
假设出题组在第 5 小时出完了一个时间段的题,他们需要休息 3 小时 (R = 3),那么他们在第 8 小时又可以继续开始出题了。
Author
数据结构中图的遍历
上色的纱雾
Problem Description
纱雾画画功力首屈一指,现在她准备上色了,这时候她在想,怎样上色的时间最短呢?
在这里我们把问题简化,平面图抽象成坐标轴,需要上色的地方抽象成 n 个点,纱雾有 m 支画笔。
开始的时候纱雾可以选择让画笔落在坐标轴任意一点上,之后每次移动画笔一个单位的距离都会花费 1 秒(画笔可以左右移动,纱雾强大的能力可以同时移动 m 枝画笔,涂色的时间忽略不计)。现在纱雾想要知道这 n 个点全部上完色最少要多少时间呢?
相信你一定能让可爱的纱雾露出这样的表情的:
Input
多组输入。
首先输入两个以空格分隔的整数 n, m(1 <= n, m <= 10^5)。分别表示需要上色的点以及纱雾拥有的画笔的数量。
接下来一行是 n 个以空格分隔的整数(绝对值保证不超过 10^9)。
Output
对于每组数据,输出一个整数,表示纱雾需要的最少时间(秒)。
Example Input
3 2 1 4 8 3 1 1 2 9 4 2 1 2 3 6
Example Output
3 8 2
Hint
两支画笔,第一支画笔初始地点选择 1,第二支画笔初始地点选择地点 8。
那么 3s 后第一支画笔可以到达地点 4,这样 3 个点就可以全部涂上了。