# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
68266 | 2018-08-16T10:36:57 Z | AdrienVannson | Cultivation (JOI17_cultivation) | C++14 | 5 ms | 812 KB |
// Sous-tâche 1 #include <algorithm> #include <iostream> #include <cstdio> #include <array> using namespace std; const int oo = 1000*1000*1000; const int NB_MAX_LIGNES = 4; const int NB_MAX_COLONNES = 4; const int NB_DIRECTIONS = 4; const int DELTAS_DIRECTIONS[NB_DIRECTIONS][2] = { {0, 1}, {1, 0}, {0, -1}, {-1, 0} }; int nbLignes, nbColonnes; int getNbActionsMin (const array<array<bool, NB_MAX_COLONNES>, NB_MAX_LIGNES> &estPlein) { bool estValide = true; for (int iLigne=0; iLigne<nbLignes; iLigne++) { for (int iColonne=0; iColonne<nbColonnes; iColonne++) { if (!estPlein[iLigne][iColonne]) { estValide = false; } } } if (estValide) { return 0; } int res = +oo; for (int iDirection=0; iDirection<NB_DIRECTIONS; iDirection++) { auto nouveauEstPlein = estPlein; for (int iLigne=0; iLigne<nbLignes; iLigne++) { for (int iColonne=0; iColonne<nbColonnes; iColonne++) { if (!estPlein[iLigne][iColonne]) { continue; } const int iNouvelleLigne = iLigne + DELTAS_DIRECTIONS[iDirection][0]; const int iNouvelleColonne = iColonne + DELTAS_DIRECTIONS[iDirection][1]; if (iNouvelleLigne < 0 || iNouvelleLigne >= nbLignes || iNouvelleColonne < 0 || iNouvelleColonne >= nbColonnes) { continue; } nouveauEstPlein[iNouvelleLigne][iNouvelleColonne] = true; } } if (nouveauEstPlein != estPlein) { res = min(getNbActionsMin(nouveauEstPlein) + 1, res); } } return res; } int main () { scanf("%d %d", &nbLignes, &nbColonnes); if (nbLignes > NB_MAX_LIGNES || nbColonnes > NB_MAX_COLONNES) { printf("%d\n", 1/0); return 0; } array<array<bool, NB_MAX_COLONNES>, NB_MAX_LIGNES> estPlein; for (int iLigne=0; iLigne<nbLignes; iLigne++) { for (int iColonne=0; iColonne<nbColonnes; iColonne++) { estPlein[iLigne][iColonne] = false; } } int nbCellulesPleines; scanf("%d", &nbCellulesPleines); for (int iCellule=0; iCellule<nbCellulesPleines; iCellule++) { int iLigne, iColonne; scanf("%d %d", &iLigne, &iColonne); iLigne--, iColonne--; estPlein[iLigne][iColonne] = true; } printf("%d\n", getNbActionsMin(estPlein)); return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 248 KB | Output is correct |
2 | Correct | 2 ms | 356 KB | Output is correct |
3 | Correct | 3 ms | 396 KB | Output is correct |
4 | Correct | 2 ms | 396 KB | Output is correct |
5 | Correct | 4 ms | 396 KB | Output is correct |
6 | Correct | 2 ms | 456 KB | Output is correct |
7 | Correct | 3 ms | 456 KB | Output is correct |
8 | Correct | 2 ms | 532 KB | Output is correct |
9 | Correct | 2 ms | 532 KB | Output is correct |
10 | Correct | 3 ms | 548 KB | Output is correct |
11 | Correct | 3 ms | 548 KB | Output is correct |
12 | Correct | 3 ms | 548 KB | Output is correct |
13 | Correct | 2 ms | 548 KB | Output is correct |
14 | Correct | 4 ms | 548 KB | Output is correct |
15 | Correct | 5 ms | 548 KB | Output is correct |
16 | Correct | 3 ms | 668 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 248 KB | Output is correct |
2 | Correct | 2 ms | 356 KB | Output is correct |
3 | Correct | 3 ms | 396 KB | Output is correct |
4 | Correct | 2 ms | 396 KB | Output is correct |
5 | Correct | 4 ms | 396 KB | Output is correct |
6 | Correct | 2 ms | 456 KB | Output is correct |
7 | Correct | 3 ms | 456 KB | Output is correct |
8 | Correct | 2 ms | 532 KB | Output is correct |
9 | Correct | 2 ms | 532 KB | Output is correct |
10 | Correct | 3 ms | 548 KB | Output is correct |
11 | Correct | 3 ms | 548 KB | Output is correct |
12 | Correct | 3 ms | 548 KB | Output is correct |
13 | Correct | 2 ms | 548 KB | Output is correct |
14 | Correct | 4 ms | 548 KB | Output is correct |
15 | Correct | 5 ms | 548 KB | Output is correct |
16 | Correct | 3 ms | 668 KB | Output is correct |
17 | Runtime error | 2 ms | 776 KB | Execution killed with signal 4 (could be triggered by violating memory limits) |
18 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 248 KB | Output is correct |
2 | Correct | 2 ms | 356 KB | Output is correct |
3 | Correct | 3 ms | 396 KB | Output is correct |
4 | Correct | 2 ms | 396 KB | Output is correct |
5 | Correct | 4 ms | 396 KB | Output is correct |
6 | Correct | 2 ms | 456 KB | Output is correct |
7 | Correct | 3 ms | 456 KB | Output is correct |
8 | Correct | 2 ms | 532 KB | Output is correct |
9 | Correct | 2 ms | 532 KB | Output is correct |
10 | Correct | 3 ms | 548 KB | Output is correct |
11 | Correct | 3 ms | 548 KB | Output is correct |
12 | Correct | 3 ms | 548 KB | Output is correct |
13 | Correct | 2 ms | 548 KB | Output is correct |
14 | Correct | 4 ms | 548 KB | Output is correct |
15 | Correct | 5 ms | 548 KB | Output is correct |
16 | Correct | 3 ms | 668 KB | Output is correct |
17 | Runtime error | 2 ms | 776 KB | Execution killed with signal 4 (could be triggered by violating memory limits) |
18 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 3 ms | 812 KB | Execution killed with signal 4 (could be triggered by violating memory limits) |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 3 ms | 812 KB | Execution killed with signal 4 (could be triggered by violating memory limits) |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 248 KB | Output is correct |
2 | Correct | 2 ms | 356 KB | Output is correct |
3 | Correct | 3 ms | 396 KB | Output is correct |
4 | Correct | 2 ms | 396 KB | Output is correct |
5 | Correct | 4 ms | 396 KB | Output is correct |
6 | Correct | 2 ms | 456 KB | Output is correct |
7 | Correct | 3 ms | 456 KB | Output is correct |
8 | Correct | 2 ms | 532 KB | Output is correct |
9 | Correct | 2 ms | 532 KB | Output is correct |
10 | Correct | 3 ms | 548 KB | Output is correct |
11 | Correct | 3 ms | 548 KB | Output is correct |
12 | Correct | 3 ms | 548 KB | Output is correct |
13 | Correct | 2 ms | 548 KB | Output is correct |
14 | Correct | 4 ms | 548 KB | Output is correct |
15 | Correct | 5 ms | 548 KB | Output is correct |
16 | Correct | 3 ms | 668 KB | Output is correct |
17 | Runtime error | 2 ms | 776 KB | Execution killed with signal 4 (could be triggered by violating memory limits) |
18 | Halted | 0 ms | 0 KB | - |