| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1335463 | Hisu | Reachability (NOI25_reachability) | C++20 | 2 ms | 580 KiB |
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define ed "\n"
#define int long long
const int N = 2e5 + 5;
int n, l[N], u[N], v[N];
namespace sub1 {
bool check() {
return n <= 7;
}
vector<int> adj[N];
void dfs(int u, int pa, int &res) {
res++;
for(int v : adj[u]) {
if(v == pa) continue;
dfs(v, u, res);
}
}
void backtrack(int pos) {
if(pos >= n) {
bool check = true;
for(int i = 1; i <= n; i++) {
int res = 0;
dfs(i, 0, res);
if(res != l[i]) check = false;
}
if(check == true) {
cout << "YES";
exit(0);
}
return;
}
adj[u[pos]].push_back(v[pos]);
adj[v[pos]].push_back(u[pos]);
backtrack(pos + 1);
adj[u[pos]].pop_back();
adj[v[pos]].pop_back();
adj[u[pos]].push_back(v[pos]);
backtrack(pos + 1);
adj[u[pos]].pop_back();
adj[v[pos]].push_back(u[pos]);
backtrack(pos + 1);
adj[v[pos]].pop_back();
backtrack(pos + 1);
}
void solve() {
backtrack(1);
cout << "NO";
}
}
void solve(int iTest) {
cin >> n;
for(int i = 1; i <= n; i++) cin >> l[i];
for(int i = 1; i < n; i++) cin >> u[i] >> v[i];
if(sub1::check()) sub1::solve();
}
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
#define TASK "main"
if(fopen(TASK ".inp", "r")) {
freopen(TASK ".inp", "r", stdin);
freopen(TASK ".out", "w", stdout);
}
else if(fopen("main.inp", "r")) {
freopen("main.inp", "r", stdin);
freopen("main.out", "w", stdout);
}
int T = 1;
// cin >> T;
for(int iTest = 1; iTest <= T; iTest++) {
solve(iTest);
}
}컴파일 시 표준 에러 (stderr) 메시지
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
