社区讨论
50pts求助
P11228[CSP-J 2024] 地图探险参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @m2r349em
- 此快照首次捕获于
- 2024/10/27 12:23 去年
- 此快照最后确认于
- 2024/10/27 14:01 去年
CPP
#include <bits/stdc++.h>
using namespace std;
int main(){
int T;
scanf("%d", &T);
for(int i = 0;i < T;i++){
int n, m, k;
scanf("%d %d %d", &n, &m, &k);
int x, y, d, _x, _y;
scanf("%d %d %d", &x, &y, &d);
char explore[n + 1][m + 1];
bool visit[n + 1][m + 1];
memset(visit, false, sizeof(visit));
int ans = 1;
getchar();
for(int i = 1;i <= n;i++){
for(int j = 1;j <= m;j++)
explore[i][j] = getchar();
getchar();
}
for(int q = 0;q < k;q++){
if(d == 0){
_x = x;_y = y + 1;
}
else if(d == 1){
_x = x + 1;_y = y;
}
else if(d == 2){
_x = x;_y = y - 1;
}
else{
_x = x - 1;_y = y;
}
if(1 <= _x && _x <= n && 1 <= _y && _y <= m && explore[_x][_y] == '.'){
x = _x;
y = _y;
if(visit[x][y] == false){
ans++;
visit[x][y] = true;
}
}
else
d = (d + 1) % 4;
}
printf("%d\n", ans);
}
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...