# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1080513 | veehj | City (JOI17_city) | C++17 | 204 ms | 16120 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
#define F first
#define S second
#define pb push_back
#define sz(a) (ll) a.size()
#define all(x) (x).begin(), (x).end()
#include "Encoder.h"
vector<vector<ll>> adj;
vector<bool> vist;
set<ll> s;
void go(int nw){
vist[nw]=1;
ll c=nw;
for(auto& u : s){
c*=10;
c+=u;
}
s.insert(nw);
Code(nw, c);
for(auto& u : adj[nw]){
if(vist[u]) continue;
go(u);
}
s.erase(nw);
}
void Encode(int N, int A[], int B[]){
adj.assign(N, vector<ll>(0));
vist.assign(N, 0);
for(int i=0; i<N-1; i++){
adj[A[i]].pb(B[i]);
adj[B[i]].pb(A[i]);
}
go(0);
}
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
#define F first
#define S second
#define pb push_back
#define sz(a) (ll) a.size()
#define all(x) (x).begin(), (x).end()
#include "Device.h"
void InitDevice(){
}
int Answer(long long s, long long t){
if(s==0) return 1;
if(t==0) return 0;
set<int> a={}, b={};
int A, B;
while(s){
if(s<10){
A=s;
break;
}
a.insert(s%10);
s/=10;
}
while(t){
if(t<10){
B=t;
break;
}
b.insert(t%10);
t/=10;
}
if(a.count(B)) return 0;
if(b.count(A)) return 1;
return 2;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |