fix: fixed validator and added input file and checker.
This commit is contained in:
8053
ra-preguicosa/input/1
Normal file
8053
ra-preguicosa/input/1
Normal file
File diff suppressed because it is too large
Load Diff
45
ra-preguicosa/output/1
Normal file
45
ra-preguicosa/output/1
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
0
|
||||||
|
impossible
|
||||||
|
14
|
||||||
|
impossible
|
||||||
|
12
|
||||||
|
14
|
||||||
|
17
|
||||||
|
30
|
||||||
|
impossible
|
||||||
|
27
|
||||||
|
12
|
||||||
|
54
|
||||||
|
57
|
||||||
|
48
|
||||||
|
55
|
||||||
|
56
|
||||||
|
147
|
||||||
|
222
|
||||||
|
208
|
||||||
|
207
|
||||||
|
239
|
||||||
|
impossible
|
||||||
|
242
|
||||||
|
230
|
||||||
|
134
|
||||||
|
226
|
||||||
|
34
|
||||||
|
218
|
||||||
|
99
|
||||||
|
impossible
|
||||||
|
97
|
||||||
|
102
|
||||||
|
impossible
|
||||||
|
102
|
||||||
|
2493
|
||||||
|
165338
|
||||||
|
810
|
||||||
|
impossible
|
||||||
|
662674
|
||||||
|
2997
|
||||||
|
impossible
|
||||||
|
3179
|
||||||
|
3016
|
||||||
|
impossible
|
||||||
|
3296
|
||||||
@@ -39,10 +39,10 @@
|
|||||||
"cpu_count": 1,
|
"cpu_count": 1,
|
||||||
"build_pdf": true,
|
"build_pdf": true,
|
||||||
"pdf_format": "ds",
|
"pdf_format": "ds",
|
||||||
"io_samples": 3
|
"io_samples": 0
|
||||||
},
|
},
|
||||||
"solutions": {
|
"solutions": {
|
||||||
"main-ac": "",
|
"main-ac": "ac.cpp",
|
||||||
"alternative-ac": [],
|
"alternative-ac": [],
|
||||||
"wrong-answer": [],
|
"wrong-answer": [],
|
||||||
"time-limit": [],
|
"time-limit": [],
|
||||||
|
|||||||
BIN
ra-preguicosa/ra-preguicosa.pdf
Normal file
BIN
ra-preguicosa/ra-preguicosa.pdf
Normal file
Binary file not shown.
13
ra-preguicosa/ra-preguicosa.tex
Normal file
13
ra-preguicosa/ra-preguicosa.tex
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
\documentclass{maratona}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\begin{ProblemaAutor}{}{A rã saltadora preguiçosa}{1}{1536}{SPOJ - RAPREGUI}
|
||||||
|
|
||||||
|
Sr. Rã vive em um pântano em forma de grade retangular, composto de células de mesmo tamanho, algumas delas são secas, outras são somente lugares alagados. Sr. Rã vive em uma célula seca e pode saltar somente de uma célula seca para outra célula seca em seus passeios pelo pântano.
|
||||||
|
|
||||||
|
Sr. Rã quer visitar sua namorada, Sra. Sapo, que também vive em uma célula seca no mesmo pântano. Mas Sr. Rã é preguiçoso, e quer gastar a menor quantidade de energia em seu caminho "saltante" até a casa da Sra. Sapo. Sr. Rã sabe quanta energia gasta em qualquer um de seus saltos. Para cada salto simples, Sr. Rã usa a figura a seguir para determinar quais são as possíveis células alvo de sua posição atual (a celula marcada com F), e a quantidade de energia correspondente no salto, em calorias. Qualquer outra célula é inatíngivel da posição atual de Sr. Rã com um salto simples.
|
||||||
|
|
||||||
|
Sua tarefa é determinar a quantidade minima de energia que Sr. Rã precisa gastar para ir de sua casa para a casa da Sra. Sapo.
|
||||||
|
|
||||||
|
\end{ProblemaAutor}
|
||||||
|
\end{document}
|
||||||
@@ -1,12 +1,33 @@
|
|||||||
#include "testlib.h"
|
#include "testlib.h"
|
||||||
#include <bits/stdc++.h>
|
#include <string>
|
||||||
|
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
|
int main(int argc, char *argv[]) {
|
||||||
int main(int argc, char* argv[]) {
|
setName("compare files as sequence of lines");
|
||||||
setName("Set the name of your checker here");
|
|
||||||
registerTestlibCmd(argc, argv);
|
registerTestlibCmd(argc, argv);
|
||||||
return 0;
|
|
||||||
|
std::string strAnswer;
|
||||||
|
|
||||||
|
int n = 0;
|
||||||
|
while (!ans.eof()) {
|
||||||
|
std::string j = ans.readString();
|
||||||
|
|
||||||
|
if (j.empty() && ans.eof())
|
||||||
|
break;
|
||||||
|
|
||||||
|
strAnswer = j;
|
||||||
|
std::string p = ouf.readString();
|
||||||
|
|
||||||
|
n++;
|
||||||
|
|
||||||
|
if (j != p)
|
||||||
|
quitf(_wa, "%d%s lines differ - expected: '%s', found: '%s'", n, englishEnding(n).c_str(),
|
||||||
|
compress(j).c_str(), compress(p).c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (n == 1)
|
||||||
|
quitf(_ok, "single line: '%s'", compress(strAnswer).c_str());
|
||||||
|
|
||||||
|
quitf(_ok, "%d lines", n);
|
||||||
}
|
}
|
||||||
@@ -7,12 +7,13 @@ using namespace std;
|
|||||||
int main(int argc, char* argv[]) {
|
int main(int argc, char* argv[]) {
|
||||||
registerValidation(argc, argv);
|
registerValidation(argc, argv);
|
||||||
while (true) {
|
while (true) {
|
||||||
int C = inf.readInt(1, 1000, "C");
|
int C = inf.readInt(0, 1000, "C");
|
||||||
inf.readSpace();
|
inf.readSpace();
|
||||||
int R = inf.readInt(1, 1000, "R");
|
int R = inf.readInt(0, 1000, "R");
|
||||||
inf.readEoln();
|
inf.readEoln();
|
||||||
if (C == 0 && R == 0) break;
|
if (C == 0 && R == 0) break;
|
||||||
|
ensure(C != 0 || R != 0);
|
||||||
|
|
||||||
int Cf, Rf, Ct, Rt;
|
int Cf, Rf, Ct, Rt;
|
||||||
Cf = inf.readInt(1, C, "Cf");
|
Cf = inf.readInt(1, C, "Cf");
|
||||||
inf.readSpace();
|
inf.readSpace();
|
||||||
@@ -30,12 +31,14 @@ int main(int argc, char* argv[]) {
|
|||||||
int C1, C2, R1, R2;
|
int C1, C2, R1, R2;
|
||||||
C1 = inf.readInt(1, C, "C1");
|
C1 = inf.readInt(1, C, "C1");
|
||||||
inf.readSpace();
|
inf.readSpace();
|
||||||
C2 = inf.readInt(1, C, "C2");
|
|
||||||
inf.readSpace();
|
|
||||||
R1 = inf.readInt(1, R, "R1");
|
R1 = inf.readInt(1, R, "R1");
|
||||||
inf.readSpace();
|
inf.readSpace();
|
||||||
|
C2 = inf.readInt(1, C, "C2");
|
||||||
|
inf.readSpace();
|
||||||
R2 = inf.readInt(1, R, "R2");
|
R2 = inf.readInt(1, R, "R2");
|
||||||
inf.readEoln();
|
inf.readEoln();
|
||||||
|
ensure(C1 <= C2);
|
||||||
|
ensure(R1 <= R2);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user