제출 #1253377

#제출 시각아이디문제언어결과실행 시간메모리
1253377vuviet세계 지도 (IOI25_worldmap)C++20
0 / 100
17 ms2372 KiB
#include <bits/stdc++.h> using namespace std; typedef vector<int> vi; // Chỉ dành cho N <= 15: dùng giải pháp đơn giản O(N+M), K = max(2*M + N, 2) vector<vector<int>> create_map(int n, int m, vi A, vi B) { // Tính kích thước bản đồ int R = max(2 * m + n, 2); int K = R; // Khởi tạo toàn màu 1 vector<vector<int>> C(K, vector<int>(K, 1)); // Mỗi cặp liền kề (u,v) tạo hai ô cạnh nhau trên hàng riêng for (int i = 0; i < m; ++i) { int u = A[i], v = B[i]; int r1 = 2 * i; // Ô cạnh nhau: (r1,0)-(r1,1) C[r1][0] = u; C[r1][1] = v; // Đảo: (r1+1,0)-(r1+1,1) C[r1+1][0] = v; C[r1+1][1] = u; } // Đảm bảo mỗi màu j xuất hiện ít nhất một lần int base = 2 * m; for (int j = 1; j <= n; ++j) { int r = base + (j - 1); if (r >= K) break; // Đặt hai ô liên tiếp màu j C[r][0] = j; C[r][1] = j; } return C; }
#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...