답안 #1033970

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1033970 2024-07-25T08:09:57 Z dilanyan Inside information (BOI21_servers) C++17
5 / 100
3500 ms 20008 KB
//-------------dilanyan------------\\ 
 
#define _CRT_SECURE_NO_WARNINGS
#include<bits/stdc++.h>
#include<stdio.h>
using namespace std;
 
//------------------Kargpefines--------------------\\ 
 
#define ll long long
#define pb push_back
#define all(u) (u).begin(), (u).end()
#define pqueue priority_queue
#define upper upper_bound
#define lower lower_bound
#define umap unordered_map
#define uset unordered_set

void KarginSet(string name = "") {
    ios_base::sync_with_stdio(false); cin.tie(NULL);
    if (name.size()) {
        freopen((name + ".in").c_str(), "r", stdin);
        freopen((name + ".out").c_str(), "w", stdout);
    }
}
 
//-------------------KarginConstants------------------\\ 
 
const ll mod = 998244353;
const ll inf = 1e18;
 
//-------------------KarginCode-----------------------\\ 
 
const int N = 500005, M = 1000005;

vector<pair<int, int>> g[N];

bool dfs_q(int u, int p, int cur, int t) {
    if (u == t) return true;
    for (auto it : g[u]) {
        int v = it.first, ind = it.second;
        if (v == p) continue;
        if (cur > ind) continue;
        if (dfs_q(v, u, ind, t)) return true;
    }
    return false;
}

int dfs_c(int u, int p,int cur) {
    int res = 1;
    for (auto it : g[u]) {
        int v = it.first, ind = it.second;
        if (v == p) continue;
        if (cur > ind) continue;
        res += dfs_c(v, u, ind);
    }
    return res;
}

void KarginSolve() {
    int n, q;
    cin >> n >> q;
    for (int i = 1;i <= n - 1 + q;i++) {
        char type; cin >> type;
        if (type == 'S') {
            int u, v;
            cin >> u >> v;
            g[u].pb({ v,i }), g[v].pb({ u,i });
        }
        else if (type == 'Q') {
            int u, v;
            cin >> u >> v;
            if (dfs_q(v, 0, 0, u)) cout << "yes\n";
            else cout << "no\n";
        }
        else {
            int u; cin >> u;
            cout << dfs_c(u, 0, 0) << '\n';
        }
    }
}

int main() {
    KarginSet();
    int test = 1;
    //cin >> test; 
    while (test--) {
        KarginSolve();
    }
    return 0;
}

Compilation message

servers.cpp:1:1: warning: multi-line comment [-Wcomment]
    1 | //-------------dilanyan------------\\
      | ^
servers.cpp:8:1: warning: multi-line comment [-Wcomment]
    8 | //------------------Kargpefines--------------------\\
      | ^
servers.cpp:27:1: warning: multi-line comment [-Wcomment]
   27 | //-------------------KarginConstants------------------\\
      | ^
servers.cpp:32:1: warning: multi-line comment [-Wcomment]
   32 | //-------------------KarginCode-----------------------\\
      | ^
servers.cpp: In function 'void KarginSet(std::string)':
servers.cpp:22:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   22 |         freopen((name + ".in").c_str(), "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
servers.cpp:23:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   23 |         freopen((name + ".out").c_str(), "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 19 ms 13440 KB Output is correct
2 Correct 26 ms 14076 KB Output is correct
3 Correct 76 ms 14108 KB Output is correct
4 Correct 25 ms 13912 KB Output is correct
5 Correct 23 ms 14004 KB Output is correct
6 Correct 630 ms 13944 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 19 ms 13440 KB Output is correct
2 Correct 26 ms 14076 KB Output is correct
3 Correct 76 ms 14108 KB Output is correct
4 Correct 25 ms 13912 KB Output is correct
5 Correct 23 ms 14004 KB Output is correct
6 Correct 630 ms 13944 KB Output is correct
7 Correct 19 ms 13404 KB Output is correct
8 Correct 28 ms 13548 KB Output is correct
9 Correct 184 ms 13708 KB Output is correct
10 Correct 24 ms 13660 KB Output is correct
11 Correct 26 ms 13660 KB Output is correct
12 Correct 956 ms 13704 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 22 ms 13404 KB Output is correct
2 Execution timed out 3561 ms 16312 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 22 ms 13404 KB Output is correct
2 Execution timed out 3561 ms 16312 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 15 ms 13404 KB Output is correct
2 Correct 52 ms 19632 KB Output is correct
3 Correct 50 ms 19540 KB Output is correct
4 Execution timed out 3528 ms 19648 KB Time limit exceeded
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 15 ms 13404 KB Output is correct
2 Correct 52 ms 19632 KB Output is correct
3 Correct 50 ms 19540 KB Output is correct
4 Execution timed out 3528 ms 19648 KB Time limit exceeded
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 15 ms 13404 KB Output is correct
2 Execution timed out 3576 ms 19688 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 15 ms 13404 KB Output is correct
2 Execution timed out 3576 ms 19688 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 16 ms 13312 KB Output is correct
2 Correct 78 ms 19612 KB Output is correct
3 Correct 48 ms 19536 KB Output is correct
4 Execution timed out 3548 ms 20008 KB Time limit exceeded
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 16 ms 13312 KB Output is correct
2 Correct 78 ms 19612 KB Output is correct
3 Correct 48 ms 19536 KB Output is correct
4 Execution timed out 3548 ms 20008 KB Time limit exceeded
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 16 ms 13400 KB Output is correct
2 Correct 23 ms 13916 KB Output is correct
3 Correct 63 ms 13944 KB Output is correct
4 Correct 21 ms 13916 KB Output is correct
5 Correct 27 ms 13916 KB Output is correct
6 Correct 568 ms 13920 KB Output is correct
7 Correct 18 ms 13404 KB Output is correct
8 Execution timed out 3558 ms 16432 KB Time limit exceeded
9 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 16 ms 13400 KB Output is correct
2 Correct 23 ms 13916 KB Output is correct
3 Correct 63 ms 13944 KB Output is correct
4 Correct 21 ms 13916 KB Output is correct
5 Correct 27 ms 13916 KB Output is correct
6 Correct 568 ms 13920 KB Output is correct
7 Correct 18 ms 13404 KB Output is correct
8 Execution timed out 3558 ms 16432 KB Time limit exceeded
9 Halted 0 ms 0 KB -