# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1097628 | Noname_1900 | Bosses (BOI16_bosses) | C++17 | 824 ms | 1364 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 5000;
#define int long long
//set<int> chefsPossibles[NMAX];
vector<int> filsPossible[NMAX];
vector<int> fils[NMAX];
int dejaPris[NMAX];
#define INFINI 100000000000
int sommeTotal;
int nbVu;
int parcourir(int noeud, int iDejaVu)
{
/*
if(dejaPris[noeud] != iDejaVu)
{
sommeTotal += INFINI;
return INFINI;
}
/**/
nbVu++;
int somme = 1;
for(int pro : fils[noeud])
{
somme += parcourir(pro, iDejaVu);
}
sommeTotal += somme;
return somme;
}
signed main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int nbEmploye;
cin >> nbEmploye;
for(int i = 0; i < nbEmploye; i++)
{
int nbChefs;
cin >> nbChefs;
for(int v = 0; v < nbChefs; v++)
{
int c;
cin >> c;
--c;
//chefsPossibles[i].insert(c);
filsPossible[c].push_back(i);
}
}
/*
for(int i = 0; i < nbEmploye; i++)
{
cout << i+1 << " : ";
for(int v : filsPossible[i]) cout << v+1 << " ";
cout << endl;
}
/**/
int meill = INFINI;
for(int PremBoss = 0; PremBoss < nbEmploye; PremBoss++)
{
vector<int> caseMAint;
vector<int> proCase;
proCase.push_back(PremBoss);
dejaPris[PremBoss] = PremBoss+1;
while(proCase.size())
{
caseMAint = proCase;
proCase.clear();
for(int noeud : caseMAint)
{
fils[noeud].clear();
for(int pro : filsPossible[noeud])
{
if(dejaPris[pro] == PremBoss+1) continue;
dejaPris[pro] = PremBoss+1;
proCase.push_back(pro);
fils[noeud].push_back(pro);
}
}
}
sommeTotal = 0;
nbVu = 0;
parcourir(PremBoss, PremBoss+1);
// cout << sommeTotal << " " << nbVu << endl;
if(nbVu == nbEmploye)
meill = min(meill, sommeTotal);
}
cout << meill;
}
컴파일 시 표준 에러 (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... |