이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "towns.h"
#include <bits/stdc++.h>
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,popcnt,sse4")
using namespace std;
const int mxn = 120;
int dp[mxn][mxn];
int ask(int a,int b){
if(a == b)return dp[a][b] = 0;
if(dp[a][b] != -1)return dp[a][b];
else return dp[a][b] = dp[b][a] = getDistance(a,b);
}
int tocen(int a,int b,int c){
return ((ask(a,b)+ask(a,c)-ask(b,c))>>1);
}
int hubDistance(int N, int sub) {
memset(dp,-1,sizeof(dp));
int ans = 1e9;
for(int i = 0;i<N;i++){
for(int j = 0;j<N;j++){
for(int k = 0;k<N;k++){
if(i == j||j == k||i == k)continue;
int d1 = tocen(i,j,k);
int d2 = tocen(j,i,k);
int d3 = tocen(k,i,j);
int tans = max({d1,d2,d3});
for(int l = 0;l<N;l++){
if(l == i||l == j||l == k)continue;
if(tocen(i,j,l) == d1&&tocen(j,i,l) == d2)tans = max(tans,tocen(l,i,j));
if(tocen(i,k,l) == d1&&tocen(k,i,l) == d3)tans = max(tans,tocen(l,i,k));
if(tocen(j,k,l) == d2&&tocen(k,j,l) == d3)tans = max(tans,tocen(l,j,k));
}
ans = min(ans,tans);
}
}
}
return ans;
}
컴파일 시 표준 에러 (stderr) 메시지
towns.cpp: In function 'int hubDistance(int, int)':
towns.cpp:21:28: warning: unused parameter 'sub' [-Wunused-parameter]
21 | int hubDistance(int N, int sub) {
| ~~~~^~~
# | 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... |