# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
90100 | 2018-12-20T08:29:39 Z | IvanC | Snake Escaping (JOI18_snake_escaping) | C++17 | 277 ms | 66560 KB |
#include <bits/stdc++.h> using namespace std; const int MAXL = 15; const int MAXN = (1 << 13) + 3; const int MAXV = 1594326; char entrada[MAXL]; int pot2[MAXL],pot3[MAXL]; int tab[MAXV],valor[MAXN]; int L,Q; void brute(int pos,int base3,int base2,int first_2){ if(pos == L){ if(first_2 == -1){ tab[base3] = valor[base2]; } else{ tab[base3] = tab[base3 - pot3[first_2]] + tab[base3 - 2*pot3[first_2]]; } return; } brute(pos + 1, base3, base2, first_2 ); brute(pos + 1, base3 + pot3[pos], base2 + pot2[pos], first_2 ); brute(pos + 1, base3 + 2*pot3[pos], base2, (first_2 != -1) ? (first_2) : (pos) ); } int main(){ scanf("%d %d",&L,&Q); assert(L <= 13); for(int i = 0;i<(1 << L);i++){ char c; scanf(" %c",&c); valor[i] = (c - '0'); } pot3[0] = pot2[0] = 1; for(int i = 1;i<L;i++){ pot3[i] = pot3[i-1]*3; pot2[i] = pot2[i-1]*2; } brute(0,0,0,-1); for(int q = 0;q<Q;q++){ int numero = 0; scanf("%s",entrada); for(int i = 0,j = L - 1;i<L;i++,j--){ int davez = entrada[i] - '0'; if(entrada[i] == '?') davez = 2; numero += pot3[j]*davez; } printf("%d\n",tab[numero]); } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 760 KB | Output is correct |
2 | Correct | 3 ms | 780 KB | Output is correct |
3 | Correct | 3 ms | 872 KB | Output is correct |
4 | Correct | 3 ms | 1004 KB | Output is correct |
5 | Correct | 3 ms | 1124 KB | Output is correct |
6 | Correct | 3 ms | 1124 KB | Output is correct |
7 | Correct | 3 ms | 1240 KB | Output is correct |
8 | Correct | 3 ms | 1240 KB | Output is correct |
9 | Correct | 1 ms | 1240 KB | Output is correct |
10 | Correct | 3 ms | 1240 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 760 KB | Output is correct |
2 | Correct | 3 ms | 780 KB | Output is correct |
3 | Correct | 3 ms | 872 KB | Output is correct |
4 | Correct | 3 ms | 1004 KB | Output is correct |
5 | Correct | 3 ms | 1124 KB | Output is correct |
6 | Correct | 3 ms | 1124 KB | Output is correct |
7 | Correct | 3 ms | 1240 KB | Output is correct |
8 | Correct | 3 ms | 1240 KB | Output is correct |
9 | Correct | 1 ms | 1240 KB | Output is correct |
10 | Correct | 3 ms | 1240 KB | Output is correct |
11 | Correct | 256 ms | 15904 KB | Output is correct |
12 | Correct | 277 ms | 26404 KB | Output is correct |
13 | Correct | 252 ms | 36412 KB | Output is correct |
14 | Correct | 252 ms | 47256 KB | Output is correct |
15 | Correct | 257 ms | 59028 KB | Output is correct |
16 | Runtime error | 271 ms | 66560 KB | Memory limit exceeded: We have a known bug that the memory usage is measured incorrectly (possibly because of Meltdown/Spectre patch), so your solution may be correct. Please submit again. Sorry for the inconvenience. |
17 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 760 KB | Output is correct |
2 | Correct | 3 ms | 780 KB | Output is correct |
3 | Correct | 3 ms | 872 KB | Output is correct |
4 | Correct | 3 ms | 1004 KB | Output is correct |
5 | Correct | 3 ms | 1124 KB | Output is correct |
6 | Correct | 3 ms | 1124 KB | Output is correct |
7 | Correct | 3 ms | 1240 KB | Output is correct |
8 | Correct | 3 ms | 1240 KB | Output is correct |
9 | Correct | 1 ms | 1240 KB | Output is correct |
10 | Correct | 3 ms | 1240 KB | Output is correct |
11 | Correct | 256 ms | 15904 KB | Output is correct |
12 | Correct | 277 ms | 26404 KB | Output is correct |
13 | Correct | 252 ms | 36412 KB | Output is correct |
14 | Correct | 252 ms | 47256 KB | Output is correct |
15 | Correct | 257 ms | 59028 KB | Output is correct |
16 | Runtime error | 271 ms | 66560 KB | Memory limit exceeded: We have a known bug that the memory usage is measured incorrectly (possibly because of Meltdown/Spectre patch), so your solution may be correct. Please submit again. Sorry for the inconvenience. |
17 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 760 KB | Output is correct |
2 | Correct | 3 ms | 780 KB | Output is correct |
3 | Correct | 3 ms | 872 KB | Output is correct |
4 | Correct | 3 ms | 1004 KB | Output is correct |
5 | Correct | 3 ms | 1124 KB | Output is correct |
6 | Correct | 3 ms | 1124 KB | Output is correct |
7 | Correct | 3 ms | 1240 KB | Output is correct |
8 | Correct | 3 ms | 1240 KB | Output is correct |
9 | Correct | 1 ms | 1240 KB | Output is correct |
10 | Correct | 3 ms | 1240 KB | Output is correct |
11 | Runtime error | 3 ms | 66560 KB | Execution killed with signal 11 (could be triggered by violating memory limits) |
12 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 760 KB | Output is correct |
2 | Correct | 3 ms | 780 KB | Output is correct |
3 | Correct | 3 ms | 872 KB | Output is correct |
4 | Correct | 3 ms | 1004 KB | Output is correct |
5 | Correct | 3 ms | 1124 KB | Output is correct |
6 | Correct | 3 ms | 1124 KB | Output is correct |
7 | Correct | 3 ms | 1240 KB | Output is correct |
8 | Correct | 3 ms | 1240 KB | Output is correct |
9 | Correct | 1 ms | 1240 KB | Output is correct |
10 | Correct | 3 ms | 1240 KB | Output is correct |
11 | Correct | 256 ms | 15904 KB | Output is correct |
12 | Correct | 277 ms | 26404 KB | Output is correct |
13 | Correct | 252 ms | 36412 KB | Output is correct |
14 | Correct | 252 ms | 47256 KB | Output is correct |
15 | Correct | 257 ms | 59028 KB | Output is correct |
16 | Runtime error | 271 ms | 66560 KB | Memory limit exceeded: We have a known bug that the memory usage is measured incorrectly (possibly because of Meltdown/Spectre patch), so your solution may be correct. Please submit again. Sorry for the inconvenience. |
17 | Halted | 0 ms | 0 KB | - |