大师 • 1天前
using namespace std; //#define DEBUG 666 struct s {
int x=-1, y=-1;
}; s a[1000001]; int n, m, p, x,y; int g[1001][1001] = { 0 }; int main() {
cout << INT_MAX;
cin >> n >> m >> p >> x >> y;
a[1].x = x;
a[1].y = y;
g[x][y] = 1;
for (int k = 2; k <= n*m; k++) {
int i = k - 1;
int kx = a[i].x - 1;
int ky = a[i].y + 1;
if (kx == 0) {
kx = n;
}
if (kx == n + 1) {
kx = 1;
}
if (ky == 0) {
ky = m;
}
if (ky == m + 1) {
ky = 1;
}
if (g[kx][ky] != 0) {
kx = a[i].x + 1;
ky = a[i].y;
if (kx == n + 1) {
kx = 1;
}
}
a[k].x = kx;
a[k].y = ky;
g[kx][ky] = k;
}
while (p--) {
int ax, ay;
cin >> ax >> ay;
cout << g[ax][ay] << endl;
}
return 0;
}
评论:
请先登录,才能进行评论