Submission #486806

#TimeUsernameProblemLanguageResultExecution timeMemory
486806lordbadukKarte (COCI15_karte)C++14
50 / 50
1 ms216 KiB
#include <fstream> #include <cstdio> #include <vector> #include <iostream> #include <algorithm> #include <utility> #include <queue> using namespace std; int main() { vector <vector<bool> > Palos(4, vector <bool> (13,false)); // al principio no tenemos ninguna carta, cuando tengamos una pondremos en su palo y número un true string s; vector <int> numPalos (4,13); int palo; // las cartas que faltan de cada palo cin >> s; // el string de entrada bool error = false; //si error=true significa que tenemos una carta dos veces y tenemos que imprimir "GRESKA" int x = s.size(); for(int i = 0; (!error) && (i < x/3); i++){ //Pasamos el string de entrada //mirmamos primero el palo y luego en comprabarcarta el número int numero = (s[i*3+1]-'0')*10+(s[i*3+2]-'0'); if (s[i*3]=='P') { palo=0; } else if (s[i*3]=='K') { palo=1; } else if (s[i*3]=='H') { palo=2; } else { palo=3; } if(Palos[palo][numero]) {//si ya hemos leido el número antes, ahora lo tenemos repetido-->error=true error = true; } else{ Palos[palo][numero] = true; //si no lo habíamos leido antes, ahora lo marcamos como leido numPalos[palo]--;//nos falta una carta menos de ese palo } } if(!error){ cout << numPalos[0] << " " << numPalos[1] << " " << numPalos[2] << " " << numPalos[3]; } else{ cout << "GRESKA"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...