제출 #1119654

#제출 시각아이디문제언어결과실행 시간메모리
1119654thangdz2k7항공 노선도 (JOI18_airline)C++17
0 / 100
485 ms23280 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); }

컴파일 시 표준 에러 (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...