Submission #69472757
Source Code Expand
/*
~~ Alguma parte/frase foda de um livro/mangá para dar sorte ~~
Uma vez eu gritei, gradualmente, perdi minha voz.
Uma vez eu chorei, gradualmente, perdi minhas lágrimas.
Uma vez eu sofri, gradualmente, me tornei capaz de suportar tudo.
Uma vez me alegrei, gradualmente, me tornei indiferente ao mundo.
E agora, tudo o que me resta é um rosto sem expressão,
meu olhar é tão firme quanto um monólito,
apenas a perseverança permanece no meu coração.
Este sou eu, um personagem insignificante,
Fang Yuan — A Perseverança.
*/
#if defined(LOCAL) or not defined(LUOGU)
#pragma GCC optimize(3)
#pragma GCC optimize("Ofast,unroll-loops")
#endif
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;
template <class T>
using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
template <typename T>
ostream& operator<<(ostream &os, const vector<T> &v) {
os << "[";
for (size_t i = 0; i < v.size(); ++i) {
os << v[i] << (i + 1 == v.size() ? "" : ", ");
}
os << "]";
return os;
}
void dbg_out() { cerr << endl; }
template <typename Head, typename... Tail>
void dbg_out(Head H, Tail... T)
{
cerr << ' ' << H;
dbg_out(T...);
}
#define dbg(...) cerr << "(" << _VA_ARGS_ << "):", dbg_out(_VA_ARGS_), cerr << endl
#define int long long
#define IOS \
ios_base::sync_with_stdio(false); \
cin.tie(0)
#define TXTIO \
freopen("entrada.in", "r", stdin);\
freopen("saida.out", "w", stdout)
#define pb push_back
#define all(v) v.begin(), v.end()
#define f first
#define s second
#define Unique(v) \
sort(all(v)); \
v.erase(unique(all(v)), v.end()); \
v.shrink_to_fit()
#define sz(v) ((int)v.size())
#define sor(x) sort(all(x))
#define ft front()
#define bk back()
#define endl "\n"
#define rep(i, a, b) for (int i = a; i < (b); ++i)
#define MIN(v) *min_element(all(v))
#define MAX(v) *max_element(all(v))
#define LB(c, x) distance((c).begin(), lower_bound(all(c), (x)))
#define UB(c, x) distance((c).begin(), upper_bound(all(c), (x)))
typedef vector<double> vd;
typedef vector<vd> vvd;
typedef vector<vvd> vvvd;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<vvi> vvvi;
typedef long long ll;
typedef double db;
typedef long double ld;
typedef pair<int, int> pii;
typedef pair<int, pii> piii;
typedef vector<pii> vii;
typedef vector<piii> viii;
typedef tuple<int, int, int> tiii;
const int MAXN = 2e5 + 5;
const int INF = 0x3f3f3f3f;
const ll LINF = 0x3f3f3f3f3f3f3f3fll;
const int mod = 1e9 + 7;
const int LOGN = 21;
void solve()
{
int n; cin >> n;
vi a(n), b(n);
vvi adj(n+1);
queue<int> q;
vector<bool> vis(n+1, false);
rep(i, 0, n) {
cin >> a[i];
cin >> b[i];
if(!a[i] && !b[i]){
q.push(i+1);
vis[i+1] = true;
}else{
adj[a[i]].pb(i+1);
adj[b[i]].pb(i+1);
}
}
while(sz(q)){
int u = q.front();
q.pop();
for(int v : adj[u]){
if(!vis[v]){
vis[v] = true;
q.push(v);
}
}
}
int ans = 0;
rep(i, 1, n+1) if(vis[i]) ans++;
cout << ans << endl;
}
int32_t main()
{
IOS;
int tt;
tt = 1;
while (tt --> 0)
solve();
return 0;
}
Submission Info
| Submission Time |
|
| Task |
C - New Skill Acquired |
| User |
Marcux777 |
| Language |
C++ 20 (gcc 12.2) |
| Score |
300 |
| Code Size |
3619 Byte |
| Status |
AC |
| Exec Time |
58 ms |
| Memory |
18464 KiB |
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
300 / 300 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
sample_01.txt, sample_02.txt |
| All |
hand_01.txt, hand_02.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, random_17.txt, random_18.txt, random_19.txt, random_20.txt, random_21.txt, random_22.txt, random_23.txt, random_24.txt, random_25.txt, random_26.txt, sample_01.txt, sample_02.txt |
| Case Name |
Status |
Exec Time |
Memory |
| hand_01.txt |
AC |
1 ms |
3428 KiB |
| hand_02.txt |
AC |
1 ms |
3428 KiB |
| random_01.txt |
AC |
51 ms |
17824 KiB |
| random_02.txt |
AC |
3 ms |
3968 KiB |
| random_03.txt |
AC |
54 ms |
18464 KiB |
| random_04.txt |
AC |
39 ms |
14384 KiB |
| random_05.txt |
AC |
57 ms |
18308 KiB |
| random_06.txt |
AC |
40 ms |
14396 KiB |
| random_07.txt |
AC |
54 ms |
18328 KiB |
| random_08.txt |
AC |
15 ms |
11776 KiB |
| random_09.txt |
AC |
54 ms |
17072 KiB |
| random_10.txt |
AC |
51 ms |
17368 KiB |
| random_11.txt |
AC |
33 ms |
16996 KiB |
| random_12.txt |
AC |
51 ms |
17852 KiB |
| random_13.txt |
AC |
58 ms |
17796 KiB |
| random_14.txt |
AC |
51 ms |
17860 KiB |
| random_15.txt |
AC |
51 ms |
17864 KiB |
| random_16.txt |
AC |
19 ms |
9916 KiB |
| random_17.txt |
AC |
46 ms |
16504 KiB |
| random_18.txt |
AC |
6 ms |
4808 KiB |
| random_19.txt |
AC |
22 ms |
10068 KiB |
| random_20.txt |
AC |
34 ms |
13044 KiB |
| random_21.txt |
AC |
1 ms |
3616 KiB |
| random_22.txt |
AC |
11 ms |
6312 KiB |
| random_23.txt |
AC |
44 ms |
15580 KiB |
| random_24.txt |
AC |
12 ms |
7104 KiB |
| random_25.txt |
AC |
22 ms |
9916 KiB |
| random_26.txt |
AC |
2 ms |
3884 KiB |
| sample_01.txt |
AC |
1 ms |
3424 KiB |
| sample_02.txt |
AC |
1 ms |
3452 KiB |