专栏文章
T547385 贪吃蛇 题解
题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @miqehfqi
- 此快照首次捕获于
- 2025/12/04 03:29 3 个月前
- 此快照最后确认于
- 2025/12/04 03:29 3 个月前
c++:
CPP#include <bits/stdc++.h>
using namespace std;
int vis[2010][2010], mp[2010][2010], sn[4000010];
int m, p, n, x = 1, y = 1, ti, idx;
int main() {
scanf("%d %d %d", &m, &p, &n);
for (int i = 1; i <= m; i++) {
for (int j = 1; j <= m; j++)
mp[i][j] = -1;
}
while (p--) {
int w, k, c;
scanf("%d %d %d", &w, &k, &c);
mp[w][k] = c;
}
vis[x][y] = ++ti;
sn[++idx] = 0;
for (int i = 1; i <= n; i++) {
char s[3];
scanf("%s", s);
if (s[0] == 'U') x--;
else if (s[0] == 'D') x++;
else if (s[0] == 'L') y--;
else if (s[0] == 'R') y++;
else {
int w, k;
scanf("%d %d", &w, &k);
if (!vis[w][k]) printf("-1\n");
else {
if (idx - ti + vis[w][k] > 0) printf("%d\n", sn[idx - ti + vis[w][k]]);
else printf("-1\n");
}
}
if (s[0] != 'Q') vis[x][y] = ++ti;
if (mp[x][y] != -1) {
sn[++idx] = mp[x][y];
mp[x][y] = -1;
}
}
return 0;
}
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...