제출 #1221387

#제출 시각아이디문제언어결과실행 시간메모리
1221387PenguinsAreCuteTwo Transportations (JOI19_transportations)C++17
6 / 100
131 ms10416 KiB
#include "Azer.h" #include <bits/stdc++.h> using namespace std; namespace { vector<bool> res; } void InitA(int N, int A, std::vector<int> U, std::vector<int> V, std::vector<int> C) {} void ReceiveA(bool x) { res.push_back(x); } std::vector<int> Answer() { int N = res.size() / 20; vector<int> ans(N,0); for(int i=0;i<N;i++) for(int j=0;j<20;j++) ans[i] += (res[20*i+j] << j); return ans; }
#include "Baijan.h" #include <bits/stdc++.h> using namespace std; using ii = pair<int,int>; namespace { vector<ii> adj[2005]; int dist[2005]; void dijkstra(int s) { memset(dist,1,sizeof(dist)); priority_queue<ii,vector<ii>,greater<ii>> pq; dist[s] = 0; pq.push({0,s}); while(pq.size()) { auto [d, x] = pq.top(); pq.pop(); if(d != dist[x]) continue; for(auto [i, di]: adj[x]) if(dist[i] > dist[x] + di) { dist[i] = dist[x] + di; pq.push({dist[i],i}); } } } } void InitB(int N, int B, std::vector<int> S, std::vector<int> T, std::vector<int> D) { for(int i=0;i<B;i++) { adj[S[i]].push_back({T[i],D[i]}); adj[T[i]].push_back({S[i],D[i]}); } dijkstra(0); for(int i=0;i<N;i++) for(int j=0;j<20;j++) SendB(dist[i]&(1<<j)); } void ReceiveB(bool y) {}
#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...