# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
423551 | Amylopectin | Hotspot (NOI17_hotspot) | C++14 | 313 ms | 1320 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <iostream>
#include <stdio.h>
#include <vector>
#include <queue>
using namespace std;
const int mxn = 10010,mxi = 1e9 + 10;
queue <int> qu;
vector <int> pa[mxn] = {};
int di[mxn] = {},u[mxn] = {};
double psu[mxn] = {},npa[mxn] = {},rdi[mxn] = {};
int main()
{
int i,j,n,m,f,t,cdi,fdi,fn,cn,q,k,stn,enn,su,cou;
double cma,df,dt;
scanf("%d %d",&n,&m);
for(i=0; i<m; i++)
{
scanf("%d %d",&f,&t);
pa[f].push_back(t);
pa[t].push_back(f);
}
scanf("%d",&q);
for(i=0; i<q; i++)
{
scanf("%d %d",&stn,&enn);
qu.push(stn);
for(j=0; j<n; j++)
{
di[j] = mxi;
npa[j] = 0;
rdi[j] = 0;
}
npa[stn] = 1;
di[stn] = 0;
while(!qu.empty())
{
cn = qu.front();
if(cn == enn)
{
break;
}
qu.pop();
for(j=0; j<pa[cn].size(); j++)
{
fn = pa[cn][j];
if(di[fn] < di[cn]+1)
{
continue;
}
if(npa[fn] == 0)
{
npa[fn] += npa[cn];
di[fn] = di[cn] + 1;
qu.push(fn);
}
else
{
npa[fn] += npa[cn];
}
}
}
while(!qu.empty())
{
qu.pop();
}
qu.push(enn);
dt = npa[enn];
rdi[enn] = npa[enn];
while(!qu.empty())
{
cn = qu.front();
df = rdi[cn];
psu[cn] += df / dt;
// if(cn == enn)
// {
// break;
// }
qu.pop();
// cu = 0;
for(j=0; j<pa[cn].size(); j++)
{
fn = pa[cn][j];
// if(di[fn] + 1 == di[cn] && u[fn] == i+1)
// {
//
// }
if(di[fn] + 1 == di[cn])
{
rdi[fn] += (npa[fn] / npa[cn]) * rdi[cn];
}
if(di[fn] + 1 == di[cn] && u[fn] != i+1)
{
u[fn] = i+1;
qu.push(fn);
}
// if(di[fn] == di[cn] + 1)
// {
// if(u[fn] == i+1)
// {
// cou ++;
// }
// }
// if(di[fn] < di[cn]+1)
// {
// continue;
// }
// if(npa[fn] == 0)
// {
// npa[fn] += npa[cn];
// di[fn] = di[cn] + 1;
// qu.push(fn);
// }
// else
// {
// npa[fn] += npa[cn];
// }
}
// npa[fn] *= cou;
// df = npa[fn];
// psu[cn] += df / dt;
}
}
cma = -1;
cn = -1;
for(i=0; i<n; i++)
{
if(psu[i] > cma)
{
cn = i;
cma = psu[i];
}
}
printf("%d\n",cn);
return 0;
}
컴파일 시 표준 에러 (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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |