Submission #590740

#TimeUsernameProblemLanguageResultExecution timeMemory
590740l_rehoMemory (IOI10_memory)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; map<char, int> mp; vector<bool> open(51, false); char faceup(int C); void play() { int prev_open = -1; for(int i = 1; i <= 50; i++){ char c = faceup(i); int idxC = mp[c]; // se ne ho già trovata una di c ed è aperta, allora // basta cosi if(idxC && open[idxC]){ open[idxC] = 0; prev_open = -1; continue; } // se ne ho già trovata una di c e non è aperta, allora // se ce ne sono altre aperte, allora devo riaprire la corrente e quella precedentemente trovata if(idxC && !open[idxC]){ if(prev_open != -1){ open[prev_open] = 0; faceup(i); faceup(idxC); }else faceup(idxC); continue; } // se non ho trovato c e non ho altre aperte dietro, allora i rimane aperta if(!idxC && prev_open == -1){ prev_open = i; open[i] = 1; mp[c] = i; continue; } // se non ho trovato c e ne ho altre aperte dietro, allora i si chiude insieme a quell'altra if(!idxC && prev_open != -1){ open[prev_open] = 0; open[i] = 0; mp[c] = i; prev_open = -1; } } } char faceup(int C){ int c0, c1; if (C < 1 || C > 50 || is_up[C]) { exit(92); } is_up[C] = 1; up[moves%2] = C; moves++; if (moves%2 == 0) { c0 = card[ up[0] ] - 'A'; c1 = card[ up[1] ] - 'A'; if (c0==c1 && !candy[c0]) { candy[c0] = 1; ++candies; } is_up[ up[0] ] = is_up[ up[1] ] = 0; } return card[C]; } void playgame(){ int i; for (i=1;i<=50;i++) { card[i] = getchar(); } moves = candies = 0; play(); if (candies != 25) { cout<<candies<<endl; exit(91); } }

Compilation message (stderr)

memory.cpp: In function 'char faceup(int)':
memory.cpp:70:27: error: 'is_up' was not declared in this scope
   70 |    if (C < 1 || C > 50 || is_up[C]) {
      |                           ^~~~~
memory.cpp:73:4: error: 'is_up' was not declared in this scope
   73 |    is_up[C] = 1;
      |    ^~~~~
memory.cpp:74:4: error: 'up' was not declared in this scope; did you mean 'mp'?
   74 |    up[moves%2] = C;
      |    ^~
      |    mp
memory.cpp:74:7: error: 'moves' was not declared in this scope
   74 |    up[moves%2] = C;
      |       ^~~~~
memory.cpp:77:12: error: 'card' was not declared in this scope
   77 |       c0 = card[ up[0] ] - 'A';
      |            ^~~~
memory.cpp:79:22: error: 'candy' was not declared in this scope
   79 |       if (c0==c1 && !candy[c0]) {
      |                      ^~~~~
memory.cpp:81:12: error: 'candies' was not declared in this scope
   81 |          ++candies;
      |            ^~~~~~~
memory.cpp:85:11: error: 'card' was not declared in this scope
   85 |    return card[C];
      |           ^~~~
memory.cpp: In function 'void playgame()':
memory.cpp:91:7: error: 'card' was not declared in this scope
   91 |       card[i] = getchar();
      |       ^~~~
memory.cpp:93:4: error: 'moves' was not declared in this scope
   93 |    moves = candies = 0;
      |    ^~~~~
memory.cpp:93:12: error: 'candies' was not declared in this scope
   93 |    moves = candies = 0;
      |            ^~~~~~~