제출 #130626

#제출 시각아이디문제언어결과실행 시간메모리
130626tutisAmusement Park (JOI17_amusement_park)C++17
0 / 100
28 ms3460 KiB
#include "Joi.h" #include <bits/stdc++.h> typedef long long ll; using namespace std; void Joi(int N, int M, int A[], int B[], long long X, int T) { vector<int>PP(N); iota(PP.begin(), PP.end(), 0); shuffle(PP.begin(), PP.end(), mt19937_64(15651)); int bitas[N]; int t = 0; for (int i : PP) { bitas[i] = t; t = (t + 1) % 60; } for (int i = 0; i < N; i++) { int s = 0; if ((X & (1ll << bitas[i])) > 0) s = 1; MessageBoard(i, s); } }
#include "Ioi.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; mt19937_64 rng(1561561); long long Ioi(int N, int M, int A[], int B[], int P, int V, int T) { vector<int>PP(N); iota(PP.begin(), PP.end(), 0); shuffle(PP.begin(), PP.end(), mt19937_64(15651)); int bitas[N]; int t = 0; for (int i : PP) { bitas[i] = t; t = (t + 1) % 60; } vector<int>adj[N]; for (int i = 0; i < M; i++) { adj[A[i]].push_back(B[i]); adj[B[i]].push_back(A[i]); } for (int i = 0; i < N; i++) { shuffle(adj[i].begin(), adj[i].end(), rng); } set<int>aplankyti; set<int>bitai; ll X = 0; while (true) { X |= V * (1ll << bitas[P]); bitai.insert(bitas[P]); aplankyti.insert(P); if (bitai.size() == 60) break; shuffle(adj[P].begin(), adj[P].end(), rng); int v1 = adj[P][0]; V = move(v1); P = v1; } return X; }
#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...