#include <bits/stdc++.h>
#define int long long
#define ti tuple<int, int, int>
using namespace std;
const int mxf = 505, mxh = 105;
int k, m, h, cx, cy, cd, cf, ch, nd, nf, nh, sp[mxf][mxh];
vector<pair<int, int>> fl[mxf];
vector<ti> g[mxf][mxh];
int findBDis(int dx, int dy) {
int dis = 0;
if(dx != 0) dis += dx+2;
if(dy != 0) dis += dy+2;
return dis;
}
int findDis(int x1, int y1, int x2, int y2) {
int dis=0, dx = abs(x2-x1), dy = abs(y2-y1);
dis += dx/(m+1)*2;
dx %= m+1;
dis += dy/(m+1)*2;
dy %= m+1;
return dis + min({findBDis(dx, dy), findBDis(abs(dx-m-1), dy)+2, findBDis(dx, abs(dy-m-1))+2, findBDis(abs(dx-m-1), abs(dy-m-1)+4)});
}
signed main() {
cin.tie(0)->sync_with_stdio(0);
cin >> k >> m;
cin >> cx >> cy;
fl[0].push_back({cx, cy});
cin >> cx >> cy;
fl[k].push_back({cx, cy});
for(int i=1; i<=k; i++) {
cin >> h;
h--;
while(h--) {
cin >> cx >> cy;
fl[i].push_back({cx, cy});
}
}
return 0;
}
# | 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... |