제출 #559384

#제출 시각아이디문제언어결과실행 시간메모리
559384kappaVlak (COCI20_vlak)C++14
70 / 70
26 ms23248 KiB
#include <bits/stdc++.h>
#define ll long long int
using namespace std;
const int maxc = 30;

struct node{
    struct node* children[maxc];
    bool isEnd;
    int color;
};

struct node *getNode(void){
    struct node *pnode = new node;
    pnode->isEnd = false;
    for (int i = 0; i < maxc; i++)
    {
        pnode->children[i] = NULL;
    }
    return pnode;
}

void insert(struct node* root, string key, int color){
    struct node *pCrawl = root;
    for (int i = 0; i < key.length(); i++)
    {
        pCrawl->color |= color;
        int ind = key[i] - 'a';
        if(!pCrawl->children[ind]){
            pCrawl->children[ind] = getNode();
        }
        pCrawl = pCrawl->children[ind];
    }

    pCrawl->isEnd = true;
}

bool search(struct node* root, ll turn){
    if (!(root->color & (1 << turn))) {
      return 0;
    }

    for (int i = 0; i < maxc; i++) {
      if (root->children[i] && !search(root->children[i], turn ^ 1)) {
        return 1;
      }
    }
    return 0;
}

int n, m;

int main(){
    struct node *root = getNode();
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        string a;
        cin >> a;
        insert(root, a, 1);
    }
    cin >> m;
    for (int i = 0; i < m; i++)
    {
        string a;
        cin >> a;
        insert(root, a, 2);
    }
    if(search(root, 0)){
        cout << "Nina";
    }else{
        cout << "Emilija";
    }
}

컴파일 시 표준 에러 (stderr) 메시지

Main.cpp: In function 'void insert(node*, std::string, int)':
Main.cpp:24:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |     for (int i = 0; i < key.length(); i++)
      |                     ~~^~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...