| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1333733 | justin271828 | Laser Strike (EGOI25_laserstrike) | C++20 | 2 ms | 420 KiB |
#include <bits/stdc++.h>
using namespace std;
#define ii pair<int, int>
#define f first
#define s second
int main() {
int P, N;
cin >> P >> N;
if (P == 1) {
int ans = 0;
vector<int> v[N];
for (int i = 1; i < N; i++) {
int a, b;
cin >> a >> b;
v[a].push_back(b);
v[b].push_back(a);
}
int edge = -1;
for (int i = 0; i < N; i++) {
if (v[i].size() == 1) edge = i;
}
int x = edge;
if (v[x][0] < x) ans = 1;
cout << ans << "\n";
cout << x << "\n";
int prev = x;
x = v[x][0];
while (v[x].size() == 2) {
cout << x << "\n";
if (v[x][0] == prev) {
prev = x;
x = v[x][1];
}
else {
prev = x;
x = v[x][0];
}
}
}
else {
int str;
cin >> str;
int a, b;
cin >> a >> b;
int x;
if (a == 1) {
cout << max(a, b) << "\n";
x = min(a, b);}
else {
cout << min(a, b) << "\n";
x = max(a, b);}
for (int i = 2; i < N; i++) {
cin >> a >> b;
cout << x << "\n";
if (a == x) x = b;
else x = a;
}
}
return 0;
}| # | 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... | ||||
