Submission #1119675

#TimeUsernameProblemLanguageResultExecution timeMemory
1119675thangdz2k7항공 노선도 (JOI18_airline)C++17
0 / 100
518 ms23308 KiB
#include "Alicelib.h"
#include <bits/stdc++.h>
 
using namespace std;
 
void Alice(int N, int M, int *A, int *B){
    vector <bool> used(N, 0);
    vector <pair <int, int>> edge;
    edge.emplace_back(N - 1, N);
 
    for (int i = 0; i < M; ++ i){
        if (A[i] > B[i]) swap(A[i], B[i]);
        edge.emplace_back(A[i], B[i]);
        if (A[i] + 1 == B[i]) used[A[i]] = 1;
    }
 
    for (int i = 0; i < N - 1; ++ i) if (!used[i]) {
        edge.emplace_back(i, i + 1);
        edge.emplace_back(i, N);
    }
 
    InitG(N + 1, int(edge.size()));
    for (int i = 0; i < edge.size(); ++ i)
        MakeG(i, edge[i].first, edge[i].second);
 
}
#include "Boblib.h"
#include <bits/stdc++.h>
 
using namespace std;
 
void Bob(int N, int M, int *C, int *D){
    vector <int> deg(N, 0);
    vector <vector <int>> adj(N);
    for (int i = 0; i < M; ++ i) {
        deg[D[i]] ++;
        adj[C[i]].push_back(D[i]);
    }
 
    queue <int> qu;
    for (int i = 0; i < N; ++ i)
        if (!deg[i]) qu.push(i);
 
    vector <int> ord(N);
    int tot = 0;
    while (qu.size()){
        int u = qu.front();
        qu.pop();
        ord[u] = tot ++;
 
        for (int v : adj[u])
            if (!--deg[v]) qu.push(v);
    }
 
    vector <pair <int, int>> edge;
    vector <bool> used(N, 0);
    for (int i = 0; i < M; ++ i){
        if (ord[D[i]] == N - 1) used[ord[C[i]]] = 1;
        else if (ord[C[i]] + 1 < ord[D[i]])
            edge.emplace_back(ord[C[i]], ord[D[i]]);
    }
 
    for (int i = 0; i < N - 1; ++ i)
        if (!used[i]) edge.emplace_back(i, i + 1);
 
    InitMap(N - 1, int(edge.size()));
    for (auto [A, B] : edge) MakeMap(A, B);
}

Compilation message (stderr)

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