#include "split.h"
//Sani buyuk Osman Pasa Plevneden cikmam diyor.
//FatihSultanMehmedHan
//Abdulhamid Han
//Bismillahirrahmanirrahim
//█▀█─█──█──█▀█─█─█
//█▄█─█──█──█▄█─█▄█
//█─█─█▄─█▄─█─█─█─█
#pragma GCC optimize ("O3")
#pragma GCC target ("sse4")
#include <bits/stdc++.h>
using namespace std;
typedef long long lo;
typedef pair< lo,lo > PII;
#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define fio() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL)
#define FOR for(int i=1;i<=n;i++)
#define mid ((start+end)/2)
#define ort ((bas+son)/2)
const lo MAX = -1000000000000000000;
const lo MIN = 1000000000000000000;
const lo inf = 1000000000;
const lo KOK = 100000;
const lo LOG = 30;
const lo li = 500005;
const lo mod = 1000000007;
int m,b[li],a[li],k,flag,t,vis[li],bb,say,flagg,visit[li];
int cev;
string s;
vector<int> v[li];
vector<int> vv;
inline void dfs(int node,int der,int boya,int yes){
if(yes==0 && visit[node]==1)return ;
if(vis[node]>0)return ;
if(say==bb)return ;
//~ cout<<say<<" : : "<<bb<<" : : "<<node<<endl;
say++;
vis[node]=boya;
visit[node]=1;
for(int i=0;i<(int)v[node].size();i++){
int go=v[node][i];
//~ cout<<go<<endl;
dfs(go,der+1,boya,yes);
}
}
vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q) {
PII pp[5];
pp[1].fi=a;
pp[1].se=1;
pp[2].fi=b;
pp[2].se=2;
pp[3].fi=c;
pp[3].se=3;
sort(pp+1,pp+3+1);
bb=pp[2].fi;
for(int i=0;i<(int)p.size();i++){
v[q[i]].pb(p[i]);
v[p[i]].pb(q[i]);
//~ cout<<p[i]<<" "<<q[i]<<endl;
}
say=0;
dfs(0,0,pp[2].se,1);
if(say!=bb){
for(int i=0;i<n;i++)vv.pb(0);
return vv;
}
for(int i=0;i<n;i++){
say=0;
bb=pp[1].fi;
if(vis[i]==0)dfs(i,i,0,0);
//~ cout<<say<<" "<<bb<<" "<<i<<endl;
if(say==pp[1].fi){
if(vis[i]==0)dfs(i,i,pp[1].se,1);
flagg=1;
break;
}
}
if(flagg==0){
for(int i=0;i<n;i++)vv.pb(0);
return vv;
}
for(int i=0;i<n;i++){
if(vis[i]==0)vis[i]=3;
vv.pb(vis[i]);
}
return vv;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
12 ms |
12024 KB |
invalid split: #1=0, #2=1, #3=2 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
12 ms |
12024 KB |
invalid split: #1=0, #2=1, #3=2 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
12 ms |
12152 KB |
invalid split: #1=2, #2=0, #3=3 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
12 ms |
12152 KB |
invalid split: #1=0, #2=0, #3=9 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
12 ms |
12024 KB |
invalid split: #1=0, #2=1, #3=2 |
2 |
Halted |
0 ms |
0 KB |
- |