Submission #500321

#TimeUsernameProblemLanguageResultExecution timeMemory
500321aryan12열대 식물원 (Tropical Garden) (IOI11_garden)C++17
49 / 100
5046 ms6080 KiB
#include "garden.h"
#include "gardenlib.h"
#include <bits/stdc++.h>
using namespace std;

const int MAXN = 2e5 + 5;
vector<int> g[MAXN];
int ans = 0;

void dfs(int node, int par, int achieve_len, int len, int target) {
    if(achieve_len == len) {
        if(target == node) {
            ans++;
        }
        return;
    }
    for(int i = 0; i < g[node].size(); i++) {
        if(g[node][i] == par && g[node].size() != 1) {
            continue;
        }
        dfs(g[node][i], node, achieve_len, len + 1, target);
        break;
    }
}

void count_routes(int N, int M, int P, int R[][2], int Q, int G[]) {
    for(int i = 0; i < M; i++) {
        if(g[R[i][0]].size() >= 2 && g[R[i][1]].size() >= 2) {
            continue;
        }
        g[R[i][0]].push_back(R[i][1]);
        g[R[i][1]].push_back(R[i][0]);
    }
    for(int i = 0; i < N; i++) {
        dfs(i, -1, G[0], 0, P);
    }
    answer(ans);
}


Compilation message (stderr)

garden.cpp: In function 'void dfs(int, int, int, int, int)':
garden.cpp:17:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |     for(int i = 0; i < g[node].size(); i++) {
      |                    ~~^~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...