[CSP-J 2024] 地图探险 - 洛谷
一道模拟题,按照题目上走,注意边界和走的次数。
代码:
#include<bits/stdc++.h> using namespace std; long long t,n,m,k,xx,yy,dd,cnt=0,dx[4]={0,1,0,-1},dy[4]={1,0,-1,0}; bool b[1005][1005]; char a[1005][1005]; int main(){ freopen("explore.in","r",stdin); freopen("explore.out","w",stdout); cin>>t; while(t--){ scanf("%lld%lld%lld%lld%lld%lld",&n,&m,&k,&xx,&yy,&dd); for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>a[i][j]; b[i][j]=false; } } cnt=0; while(k--){ if(b[xx][yy]==false)cnt++,b[xx][yy]=true; if(a[xx+dx[dd]][yy+dy[dd]]!='.'||xx+dx[dd]<1||xx+dx[dd]>n||yy+dy[dd]<1||yy+dy[dd]>m){ dd=(dd+1)%4; }else{ xx=xx+dx[dd],yy=yy+dy[dd]; } } if(b[xx][yy]==false)cnt++,b[xx][yy]=true; printf("%lld\n",cnt); } return 0; }
CSP-J2024年T2题解
于 2024-11-24 17:35:12 首次发布