山东理工热身赛
Special Judge Ⅰ
Time Limit:?1000MS Memory Limit:?65536KB Submit StatisticProblem Description
SDUT OJ 上默認(rèn)的評(píng)測(cè)機(jī)制是嚴(yán)格?ICPC 模式,它要求提交的程序運(yùn)行輸入數(shù)據(jù)后的輸出結(jié)果和標(biāo)準(zhǔn)答案完全一致。
而 Special Judge 是一種特殊的評(píng)判模式,它允許程序的輸出結(jié)果和測(cè)試數(shù)據(jù)(標(biāo)準(zhǔn)答案)在一定范圍內(nèi)即使不同,也可以被判定為 Accepted。
通常,Special Judge 會(huì)通過運(yùn)行一個(gè)特判程序來檢測(cè)用戶的輸出是否符合要求。
?
現(xiàn)在以最簡(jiǎn)單的浮點(diǎn)數(shù)誤差的特判程序?yàn)槔?#xff0c;假設(shè)允許的最大浮點(diǎn)誤差為 eps = 1e-2(即 10^(-2) = 0.01),如果用戶的輸出為 0.125,測(cè)試數(shù)據(jù)為 0.128,則誤差為?0.003 <?1e-2,判定為?Accepted。代碼實(shí)現(xiàn)如下:
?
if(fabs(user_out - std_out) <= eps) {printf("Accepted\n"); } else {printf("Wrong Answer\n"); }?
現(xiàn)在 Stone 提交了若干次代碼,你需要寫一個(gè)特判程序來判斷他的答案是否正確。
不過出題人并沒有告訴你他想設(shè)置的 eps 是多少,只告訴你范圍是 1e0, 1e-1, 1e-2, 1e-3, 1e-4, ..., 1e-14 這十五個(gè)中的一個(gè),你需要猜一個(gè) eps 并寫出符合要求的特判程序。
Input
輸入數(shù)據(jù)有多組(數(shù)據(jù)組數(shù)不超過 100),到 EOF 結(jié)束。
對(duì)于每組數(shù)據(jù),輸入 2 個(gè)浮點(diǎn)數(shù) a, b,其中 a 表示 Stone 的程序運(yùn)行結(jié)果,b 表示后臺(tái)測(cè)試數(shù)據(jù)。
保證 a, b 均在 double 范圍內(nèi)。
Output
對(duì)于每組數(shù)據(jù),如果 Stone 的程序正確,輸出一行?"Accepted",否則輸出一行 "Wrong Answer"(輸出不包括引號(hào))。
Example Input
1.00 1.0 62.55 66.233Example Output
Accepted Wrong AnswerHint
示例?C 語(yǔ)言代碼中,fabs() 是絕對(duì)值函數(shù),需要頭文件 math.h。
精度誤差 eps 建議定義為 double 型,例如,猜 eps 為 1e-6,則寫成:double eps = 1e-6;
請(qǐng)使用 double 型讀入數(shù)據(jù)。
hint:這道題eps為1e-9;
Special Judge Ⅱ
Time Limit:?1000MS Memory Limit:?65536KB Submit StatisticProblem Description
Q:什么是 Special Judge,Special Judge 的題目有什么不同?
A:一個(gè)題目可以接受多種正確答案,即有多組解的時(shí)候,題目就必須被 Special Judge。Special Judge 程序使用輸入數(shù)據(jù)和一些其他信息來判答程序的輸出,并將判答結(jié)果返回。
NaYe 最近遇到了一個(gè)題,要求輸出三個(gè)數(shù),第三個(gè)數(shù)為前兩個(gè)數(shù)的和,三個(gè)數(shù)都是素?cái)?shù),且前兩個(gè)數(shù)小于?500000。他只需要輸出任意一組符合要求的答案即認(rèn)為是 Accepted。現(xiàn)在需要你做的是判斷 NaYe 的程序運(yùn)行結(jié)果對(duì)不對(duì)。
Input
輸入數(shù)據(jù)有多組(數(shù)據(jù)組數(shù)不超過 100),到 EOF 結(jié)束。
每組數(shù)據(jù)輸入 a, b, c 三個(gè)整數(shù)。含義同題目描述。
a, b, c 均在 int 范圍內(nèi)。
Output
對(duì)于每組數(shù)據(jù),如果 NaYe 的程序正確輸出 “Accepted”,否則輸出 “Wrong Answer”(輸出不包括引號(hào))。
Example Input
1 1 1 2 3 5 3 5 8Example Output
Wrong Answer Accepted Wrong AnswerHint
Author
MLE_kenan?#include<stdio.h>
#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 Ⅲ
Time Limit:?1000MS Memory Limit:?65536KB Submit StatisticProblem Description
Q:什么是 Special Judge,Special Judge 的題目有什么不同?
A:一個(gè)題目可以接受多種正確方案,即有多組解的時(shí)候,題目就必須被 Special Judge。Special Judge 程序使用輸入數(shù)據(jù)和一些其他信息來判答你程序的輸出,并將判答結(jié)果返回。
不抽黑貞與咸魚有什么區(qū)別?
?
?
5月3日 FGO(Fate/Grand Order) 贗作活動(dòng)來襲,MLE 開始了他的玄學(xué)抽卡:
他在 n 個(gè)小方塊上寫上數(shù)字,并按照先后順序往上堆,在堆的過程中他會(huì)隨機(jī)性的把上面的小方塊抽走,堆完以后再依次從上往下把剩余沒抽完的小方塊抽走。按照小方塊抽走的先后順序排列開來(先拿走的小方塊放最前面),之后再隨機(jī)選擇一個(gè)小方塊,這個(gè)小方塊上面的數(shù)字就表示活動(dòng)開始以后的若干秒后開始抽卡。
不幸的是由于過于激動(dòng)把小方塊抽走的先后順序給忘了,MLE 向閑來無事的 keke 求助,讓他給出一個(gè)序列看自己能不能想起來,但為了避免浪費(fèi)時(shí)間,MLE 希望 keke 給出的序列符合小方塊抽走后排列的順序,現(xiàn)在問題留給你,由你來判斷這個(gè)序列是否合法。
Input
多組數(shù)據(jù)輸入直到文件結(jié)尾。
第一行先輸入一個(gè)數(shù) n (0 <= n <= 1000) 表示小方塊的個(gè)數(shù)。
第二行輸入 n 個(gè)數(shù)表示小方塊上的數(shù)字,均為正整數(shù)。
第三行輸入 keke 給出的序列,長(zhǎng)度與小方塊個(gè)數(shù)一致。
所有數(shù)據(jù)范圍均為 [0, 1000]。
Output
Keke 的答案正確輸出 "Accepted",否則輸出 "Wrong Answer"(不包括引號(hào))。
Example Input
5 1 2 3 4 5 5 4 3 2 1Example Output
AcceptedHint
當(dāng) n 為 0 時(shí)認(rèn)為是 "Accepted"。
Author
MLE_kenan?
利用出棧
瘋狂的bLue
Time Limit:?1000MS Memory Limit:?65536KB Submit StatisticProblem Description
眾所周知神秘的 ACM 實(shí)驗(yàn)室有一個(gè)史詩(shī)級(jí)的出題狂魔,名曰--bLue。最近 bLue 又露出了邪惡的笑,原來是 bLue 接了為校賽出題的單子。
距離校賽開始還有 N 小時(shí),由于各種奇怪的原因出題組可以出題的時(shí)間并不固定,大致可以分為M個(gè)時(shí)間段。每個(gè)時(shí)間段可以出的題目數(shù)也可能不同。同時(shí)由于出題是個(gè)煞費(fèi)心血的事情,所以每個(gè)出題時(shí)間段結(jié)束后,善良的bLue會(huì)讓大家休息 R (1 ≤?R?≤?N?) 小時(shí),以便為接下來的出題事業(yè)繼續(xù)奮斗。
為了能為校賽準(zhǔn)備盡可能多的題目以備不時(shí)之需,bLue 需要好好地規(guī)劃好這 N 小時(shí)如何安排,當(dāng)然作為唯一的長(zhǎng)者,bLue 一下子就為大家規(guī)劃好了如何安排出題的時(shí)間段。
現(xiàn)在 bLue 想考考你在他完美的安排下出題組最多可以出多少個(gè)題目?
Input
測(cè)試數(shù)據(jù)有多組,輸入直到文件結(jié)束
第一行輸入三個(gè)數(shù) N (1 ≤?N?≤ 1,000,000), M (1 ≤?M?≤ 1,000), R (1 ≤?R?≤?N)。
接下來有 M 行輸入,每一行輸入三個(gè)數(shù) Si (0 ≤ Si < N), Ei (Si < Ei ≤?N)?,Vi (1 ≤ Vi ≤ 1,000,000), (0 < i <= M),分別表示為第 i 個(gè)時(shí)間段的開始時(shí)間,第 i 段的結(jié)束時(shí)間,第 i 個(gè)時(shí)間段可以出的題目數(shù)。
Output
對(duì)于每組數(shù)據(jù)輸出出題組最多可以出的題的數(shù)目。
Example Input
15 5 3 1 4 5 6 9 4 3 5 2 7 10 8 11 15 2Example Output
13Hint
假設(shè)出題組在第 5 小時(shí)出完了一個(gè)時(shí)間段的題,他們需要休息 3 小時(shí) (R = 3),那么他們?cè)诘?8 小時(shí)又可以繼續(xù)開始出題了。
Author
Ninaye?數(shù)據(jù)結(jié)構(gòu)中圖的遍歷
上色的紗霧
Time Limit:?1000MS Memory Limit:?65536KB Submit StatisticProblem Description
紗霧畫畫功力首屈一指,現(xiàn)在她準(zhǔn)備上色了,這時(shí)候她在想,怎樣上色的時(shí)間最短呢?
在這里我們把問題簡(jiǎn)化,平面圖抽象成坐標(biāo)軸,需要上色的地方抽象成 n 個(gè)點(diǎn),紗霧有 m 支畫筆。
開始的時(shí)候紗霧可以選擇讓畫筆落在坐標(biāo)軸任意一點(diǎn)上,之后每次移動(dòng)畫筆一個(gè)單位的距離都會(huì)花費(fèi) 1 秒(畫筆可以左右移動(dòng),紗霧強(qiáng)大的能力可以同時(shí)移動(dòng) m 枝畫筆,涂色的時(shí)間忽略不計(jì))。現(xiàn)在紗霧想要知道這 n 個(gè)點(diǎn)全部上完色最少要多少時(shí)間呢?
相信你一定能讓可愛的紗霧露出這樣的表情的:
Input
多組輸入。
首先輸入兩個(gè)以空格分隔的整數(shù) n, m(1 <= n, m <= 10^5)。分別表示需要上色的點(diǎn)以及紗霧擁有的畫筆的數(shù)量。
接下來一行是 n 個(gè)以空格分隔的整數(shù)(絕對(duì)值保證不超過 10^9)。
Output
對(duì)于每組數(shù)據(jù),輸出一個(gè)整數(shù),表示紗霧需要的最少時(shí)間(秒)。
Example Input
3 2 1 4 8 3 1 1 2 9 4 2 1 2 3 6Example Output
3 8 2Hint
兩支畫筆,第一支畫筆初始地點(diǎn)選擇 1,第二支畫筆初始地點(diǎn)選擇地點(diǎn) 8。
那么 3s 后第一支畫筆可以到達(dá)地點(diǎn) 4,這樣 3 個(gè)點(diǎn)就可以全部涂上了。
Author
UMR?
總結(jié)
- 上一篇: 你不知道的电脑36个小技巧(纪念2011
- 下一篇: word 垂直居中