Submission #934035

#TimeUsernameProblemLanguageResultExecution timeMemory
934035MaaxleCity (JOI17_city)C++17
0 / 100
184 ms17984 KiB
#include "Encoder.h" #include <bits/stdc++.h> #define range(it, a, b) for (ll it = a; it < b; it++) #define all(x) begin(x), end(x) #define ll long long #define ull unsigned long long #define INF64 ((ll) 1 << 60) #define INF32 (1 << 30) #define mset multiset #define uset unordered_set #define umap unordered_map #define pqueue priority_queue #define ptr(A) shared_ptr<A> using namespace std; ll n; vector<vector<ll>> adj, range; vector<ll> euler; void explore(ll i, ll from) { range[i][0] = euler.size(); euler.push_back(i); for (ll k : adj[i]) { if (k == from) continue; explore(k, i); } range[i][1] = euler.size(); euler.push_back(i); string l = to_string(range[i][0]); while (l.size() < 6) l = "0" + l; ll sz = range[i][1] - range[i][0]; Code(i, stoll(to_string(sz) + l)); } void Encode(int N, int A[], int B[]) { n = N; adj.resize(n); range.resize(n, vector<ll> (2)); range(i, 0, n - 1) { adj[A[i]].push_back(B[i]); adj[B[i]].push_back(A[i]); } explore(0, 0); }
#include "Device.h" #include <bits/stdc++.h> #define range(it, a, b) for (ll it = a; it < b; it++) #define all(x) begin(x), end(x) #define ll long long #define ull unsigned long long #define INF64 ((ll) 1 << 60) #define INF32 (1 << 30) #define mset multiset #define uset unordered_set #define umap unordered_map #define pqueue priority_queue #define ptr(A) shared_ptr<A> using namespace std; void InitDevice() { } int Answer(long long S, long long T) { string ss = to_string(S); while (ss.size() < 7) ss = "0" + ss; string ts = to_string(T); while (ts.size() < 7) ts = "0" + ts; ll ind = ss.size() - 6; ll sl = stoll(ss.substr(ind, 6)); ll sr = sl + stoll(ss.substr(0, ind)); ind = ts.size() - 6; ll tl = stoll(ts.substr(ind, 6)); ll tr = tl + stoll(ts.substr(0, ind)); // cout << ss << ' ' << ts << '\n'; // cout << sl << ' ' << sr << '\n'; // cout << tl << ' ' << tr << '\n'; ll ans; if (sl < tl && tr < sr) ans = 1; else if (tl < sl && sr < tr) ans = 0; else ans = 2; cout << ans << '\n'; return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...