Submission #315189

#TimeUsernameProblemLanguageResultExecution timeMemory
315189juggernautIdeal city (IOI12_city)C++14
0 / 100
42 ms17440 KiB
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
vector<int>g[2005];
int d[2005][2005],res;
int DistanceSum(int n,int *X,int *Y){
    int i,j;
    for(i=0;i+1<n;i++)
    for(j=i+1;j<n;j++){d[i][j]=2e9,d[j][i]=2e9;;if(abs(X[i]-X[j])+abs(Y[i]-Y[j])==1){
        g[i].push_back(j);
        g[j].push_back(i);
    }}
    for(i=0;i<n;i++){
        queue<int>q;
        q.push(i);
        while(!q.empty()){
            int v=q.front();
            q.pop();
            for(int to:g[v])if(d[i][to]>d[i][v]+1){
                d[i][to]=d[i][v]+1;
                q.push(to);
            }
        }
        for(i=0;i+1<n;i++)
            for(j=i+1;j<n;j++)res=(res+d[i][j])%(1000000000);
    }
    return res;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...