Submission #1324008

#TimeUsernameProblemLanguageResultExecution timeMemory
1324008sh_qaxxorov_571Game (IOI14_game)C++20
100 / 100
170 ms7032 KiB
#include "game.h"

/**
 * Jian-Jia g'alaba qozonishi uchun ishlatiladigan strategiya.
 * count[v] - v shahri va undan kichik indeksli shaharlar (0...v-1) 
 * o'rtasida necha marta savol so'ralganini saqlaydi.
 */

int count[1505];
int num_cities;

void initialize(int n) {
    num_cities = n;
    for (int i = 0; i < n; i++) {
        count[i] = 0;
    }
}

int hasEdge(int u, int v) {
    // Har doim kattaroq indeksli shaharni asos qilib olamiz
    if (u > v) {
        int temp = u;
        u = v;
        v = temp;
    }

    // v shahri uchun o'zidan kichik shaharlar bilan bog'liqlik 
    // nechanchi marta so'ralayotganini oshiramiz.
    count[v]++;

    // Agar v shahri haqida v-marta savol berilgan bo'lsa, 
    // demak bu uni oldingi komponentalar bilan bog'lash uchun oxirgi imkoniyat.
    if (count[v] == v) {
        return 1; // Ha, yo'l bor
    }
    
    return 0; // Yo'q, hozircha yo'l yo'q
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...