제출 #1045814

#제출 시각아이디문제언어결과실행 시간메모리
1045814CyberCowPetrol stations (CEOI24_stations)C++17
18 / 100
27 ms528 KiB
#include <random>
#include <algorithm>
#include <bitset>
#include <chrono>
#include <cmath>
#include <deque>
#include <fstream>
#include <iomanip>
#include <iostream>
#include <iterator>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <vector>
#include <chrono>
#define m_p make_pair
#define all(x) (x).begin(),(x).end()
#define sz(x) ((x).size())
typedef long long ll;
using ull = unsigned long long;
using namespace std;
mt19937 rnd(348502);
ll mod1 = 998244353;
ll mod = 1e9 + 7;
const ll N = 1005;

vector<pair<int, int>> v[N];
int ans[N], k, sz[N];

void getsz(int g, int p)
{
    sz[g] = 1;
    for (auto to : v[g])
    {
        if (to.first != p)
        {
            getsz(to.first, g);
            sz[g] += sz[to.first];
        }
    }
}

void Dfs(int g, int p, int arj)
{
    for (auto to : v[g])
    {
        if (to.first != p)
        {
            if (to.second > arj)
            {
                ans[g]+=sz[to.first];
                Dfs(to.first, g, k - to.second);
            }
            else
            {
                Dfs(to.first, g, arj - to.second);
            }
        }
    }

}

void solve()
{
    int n, i, j, m, x, y, l;
    cin >> n >> k;
    if (n <= 1000)
    {
        for (i = 0; i < n - 1; i++)
        {
            cin >> x >> y >> l;
            v[x].push_back({ y, l });
            v[y].push_back({ x, l });
        }
        for ( i = 0; i < n; i++)
        {
            for ( j = 0; j < n; j++)
            {
                sz[j] = 0;
            }
            getsz(i, -1);
            Dfs(i, -1, k);
        }
        for ( i = 0; i < n; i++)
        {
            cout << ans[i] << '\n';
        }
    }
}


int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    ll tt = 1;
    //cin >> tt;
    while (tt--) {
        solve();
    }
    return 0;
}

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

Main.cpp: In function 'void solve()':
Main.cpp:69:18: warning: unused variable 'm' [-Wunused-variable]
   69 |     int n, i, j, m, x, y, l;
      |                  ^
#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...