답안 #486806

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
486806 2021-11-12T20:58:19 Z lordbaduk Karte (COCI15_karte) C++14
50 / 50
1 ms 216 KB
#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;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 1 ms 216 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 0 ms 204 KB Output is correct
9 Correct 0 ms 204 KB Output is correct
10 Correct 1 ms 204 KB Output is correct