제출 #747664

#제출 시각아이디문제언어결과실행 시간메모리
747664finn__항공 노선도 (JOI18_airline)C++17
100 / 100
654 ms29344 KiB
#include "Alicelib.h" #include <bits/stdc++.h> using namespace std; void Alice(int N, int M, int A[], int B[]) { if (N == 1) { InitG(1, 0); return; } vector<pair<int, int>> edges; for (size_t i = 0; i < M; ++i) edges.emplace_back(A[i], B[i]); for (size_t i = 0; i < N; ++i) for (size_t j = 0; j < 10; ++j) if (i & (1 << j)) edges.emplace_back(i, N + j); for (size_t i = 0; i < 10; ++i) { edges.emplace_back(N + i, N + 10); if (i < 9) edges.emplace_back(N + i, N + i + 1); if (i) edges.emplace_back(N + i, N + 11); } InitG(N + 12, edges.size()); for (size_t i = 0; i < edges.size(); ++i) MakeG(i, edges[i].first, edges[i].second); }
#include "Boblib.h" #include <bits/stdc++.h> using namespace std; void Bob(int V, int U, int C[], int D[]) { if (V == 1) { InitMap(1, 0); return; } vector<vector<int>> G(V); for (size_t i = 0; i < U; ++i) G[C[i]].push_back(D[i]), G[D[i]].push_back(C[i]); int x = -1, y = -1; vector<int> d(V); for (size_t i = 0; i < V; ++i) if (G[i].size() == 10) { fill(d.begin(), d.end(), 0); int e[2] = {0, 0}; bool possible = 1; for (auto const &j : G[i]) { for (auto const &v : G[j]) if (find(G[i].begin(), G[i].end(), v) != G[i].end()) d[j]++; if (d[j] != 1 && d[j] != 2) { possible = 0; break; } e[d[j] - 1]++; } if (!possible || e[0] != 2 || e[1] != 8) continue; x = i; break; } vector<int> bit_vertices; for (size_t i = 0; i < V; ++i) if (G[i].size() == 9) { int v0 = -1; bool possible = 1; for (auto const &j : G[x]) if (find(G[i].begin(), G[i].end(), j) == G[i].end()) { if (v0 != -1) possible = 0; v0 = j; } if (v0 == -1 || !possible || d[v0] != 1) continue; bit_vertices.clear(); bit_vertices.push_back(v0); int last = -1; for (size_t k = 0; k < 9; ++k) { int v1 = -1; for (auto const &j : G[v0]) if (j != last && find(G[i].begin(), G[i].end(), j) != G[i].end()) { if (v1 != -1) possible = 0; v1 = j; } if (v1 == -1) { possible = 0; break; } last = v0; v0 = v1; bit_vertices.push_back(v0); } if (!possible || bit_vertices.size() != 10) continue; y = i; break; } vector<int> p(V); for (size_t i = 0; i < V; ++i) if (i != x && i != y && find(bit_vertices.begin(), bit_vertices.end(), i) == bit_vertices.end()) for (auto const &v : G[i]) { size_t const k = find(bit_vertices.begin(), bit_vertices.end(), v) - bit_vertices.begin(); if (k != 10) p[i] |= 1 << k; } vector<pair<int, int>> edges; for (size_t i = 0; i < V; ++i) if (i != x && i != y && find(bit_vertices.begin(), bit_vertices.end(), i) == bit_vertices.end()) for (auto const &v : G[i]) if (find(bit_vertices.begin(), bit_vertices.end(), v) == bit_vertices.end() && i < v) edges.emplace_back(p[i], p[v]); InitMap(V - 12, edges.size()); for (auto const &[u, v] : edges) MakeMap(u, v); }

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

Alice.cpp: In function 'void Alice(int, int, int*, int*)':
Alice.cpp:13:26: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   13 |     for (size_t i = 0; i < M; ++i)
      |                        ~~^~~
Alice.cpp:15:26: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   15 |     for (size_t i = 0; i < N; ++i)
      |                        ~~^~~

Bob.cpp: In function 'void Bob(int, int, int*, int*)':
Bob.cpp:13:26: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   13 |     for (size_t i = 0; i < U; ++i)
      |                        ~~^~~
Bob.cpp:18:26: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   18 |     for (size_t i = 0; i < V; ++i)
      |                        ~~^~~
Bob.cpp:42:26: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   42 |     for (size_t i = 0; i < V; ++i)
      |                        ~~^~~
Bob.cpp:85:26: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   85 |     for (size_t i = 0; i < V; ++i)
      |                        ~~^~~
Bob.cpp:86:15: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   86 |         if (i != x && i != y && find(bit_vertices.begin(), bit_vertices.end(), i) == bit_vertices.end())
      |             ~~^~~~
Bob.cpp:86:25: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   86 |         if (i != x && i != y && find(bit_vertices.begin(), bit_vertices.end(), i) == bit_vertices.end())
      |                       ~~^~~~
Bob.cpp:94:26: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   94 |     for (size_t i = 0; i < V; ++i)
      |                        ~~^~~
Bob.cpp:95:15: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   95 |         if (i != x && i != y && find(bit_vertices.begin(), bit_vertices.end(), i) == bit_vertices.end())
      |             ~~^~~~
Bob.cpp:95:25: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   95 |         if (i != x && i != y && find(bit_vertices.begin(), bit_vertices.end(), i) == bit_vertices.end())
      |                       ~~^~~~
Bob.cpp:97:98: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'const int' [-Wsign-compare]
   97 |                 if (find(bit_vertices.begin(), bit_vertices.end(), v) == bit_vertices.end() && i < v)
      |                                                                                                ~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...