# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1072100 | 2024-08-23T14:20:05 Z | edogawa_something | The Ties That Guide Us (CEOI23_incursion) | C++17 | 99 ms | 53148 KB |
#include "incursion.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef vector<ll> vii; typedef pair<ll,ll> pii; #define F first #define S second #define all(v) v.begin(),v.end() #define pb push_back const ll M=5e5+10; const ll inf=2e18; vii adjj[M],adj[M]; bool vis[M],viss[M]; ll diss[M],dis[M]; void mdfs(ll x,ll d=0) { if(vis[x]) return; vis[x]=1; dis[x]=d; for(auto it:adj[x]) mdfs(it,d+1); } void ldfs(ll x,ll d=0) { if(viss[x]) return; viss[x]=1; diss[x]=d; for(auto it:adjj[x]) ldfs(it,d+1); } std::vector<int> mark(std::vector<std::pair<int, int>> F, int safe) { for(int i=0;i<F.size();i++) adj[F[i].F].pb(F[i].S),adj[F[i].S].pb(F[i].F); ll n=F.size()+1; ll st=0; for(int i=1;i<=n;i++) { if(adj[i].size()==1) st=i; } vector<int>ans; mdfs(st); if(dis[safe]>n/2) { for(int i=1;i<=n;i++) { if(dis[i]>=dis[safe]) ans.pb(1); else ans.pb(0); } } else { for(int i=1;i<=n;i++) { if(dis[i]<=dis[safe]) ans.pb(1); else ans.pb(0); } } return ans; return {}; } void locate(std::vector<std::pair<int, int>> F, int curr, int t) { /*for(int i=0;i<F.size();i++) adjj[F[i].F].pb(F[i].S),adjj[F[i].S].pb(F[i].F); ll n=F.size()+1; for(int i=1;i<=n;i++) vis[i]=0; ll st=0; for(int i=1;i<=n;i++) { if(adjj[i].size()==1) st=i; } ldfs(st); if((diss[curr]>n/2)^(t==0)) { for(int i=1;i<=n;i++) diss[i]=n-1-diss[i]; } if(t==1) { ll par=curr; ll cnt=0; while(t==1) { for(auto it:adjj[curr]) { if(diss[it]>diss[curr]) { par=curr,curr=it; t=visit(it); break; } } } visit(par); return; } else { while(t==0) { for(auto it:adjj[curr]) { if(diss[it]<diss[curr]) { curr=it; t=visit(it); break; } } } return; }*/ }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 17 ms | 47916 KB | Not correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 99 ms | 53148 KB | Not correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 79 ms | 51732 KB | Correct |
2 | Incorrect | 89 ms | 51772 KB | Not correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 17 ms | 47916 KB | Not correct |
2 | Halted | 0 ms | 0 KB | - |