Xu0120 @ 2024-11-18 16:28:18
#include<bits/stdc++.h>
using namespace std;
int a,c,b,d,e[1005][1005],ans=0;
int x,y,d1;
char n;
int main(){
cin>>a;
for(int i=1;i<=a;i++){
ans=0;
cin>>c>>b>>d;
cin>>x>>y>>d1;
for(int u=1;u<=c;u++){
for(int q=1;q<=b;q++){
cin>>n;
if(n=='.'){
e[u][q]=1;
}
else{
e[u][q]=0;
}
}
}
for(int i=1;i<=d;i++){
if(d1==0){
if(e[x][y+1]==0){
d1++;
}
else{
ans++;
e[x][y+1]==0;
y+=1;
}
}
else if(d1==1){
if(e[x-1][y]==0){
d1++;
}
else{
ans++;
e[x-1][y]==0;
x-=1;
}
}
else if(d1==2){
if(e[x][y+1]==0){
d1++;
}
else{
ans++;
e[x][y+1]==0;
y+=1;
}
}
else if(d1==3){
if(e[x+1][y]==0){
d1++;
}
else{
ans++;
e[x+1][y]==0;
x+=1;
}
}
d1%=4;
}cout<<ans<<endl;
}
}
by wangshengchen @ 2024-11-19 18:31:46
@Xu0120
#include<iostream>
using namespace std;
const int N=1e3+10;
int t,n,m,k,x,y,d,ans,d2[4][2]={{0,1},{1,0},{0,-1},{-1,0}};//d是方向
string s;
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cin>>t;
while(t--){
cin>>n>>m>>k>>x>>y>>d;
char map[N][N]={};
bool vis[N][N]={};
for(int i=1;i<=n;i++){
cin>>s;//用字符串输入快
int len=s.size();
for(int j=0;j<len;j++) map[i][j+1]=s[j];//存到字符数组里
}
ans=1;//起点也有一步
vis[x][y]=1;//判断走过的(可能有重复的)
while(k--){
int nx=d2[d][0]+x,ny=d2[d][1]+y;//现在的x,y坐标
if(nx>0&&nx<n+1&&ny>0&&ny<m+1&&map[nx][ny]!='x'){//判断可不可以走
x=nx;
y=ny;
if(!vis[nx][ny]){//加个数
vis[nx][ny]=1;
ans++;
}
}
else d=(d+1)%4;//转向
}
cout<<ans<<"\n";
}
return 0;
}
by Bao0714 @ 2024-11-19 19:21:15
@Xu0120
#include<bits/stdc++.h>
using namespace std;
int x,x1,y,yl,t,n,m,k,ans=1,d;
bool c[1005][1005],a[1005][1005];
char ch;
int main()
{
scanf("%d",&t);
while(t--)
{
scanf("%d %d %d %d %d %d",&n,&m,&k,&x,&y,&d);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
cin>>ch;
if(ch=='.')
a[i][j]=true;
}
x1=x,yl=y,c[x][y]=true;
while(k--)
{
if(!d)
yl++;
else if(d==1)
x1++;
else if(d==2)
yl--;
else
x1--;
if(!a[x1][yl])
x1=x,yl=y,d=(d+1)%4;
else
{
x=x1,y=yl;
if(!c[x][y])
{
ans++;
c[x][y]=true;
}
}
}
printf("%d\n",ans);
ans=1;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
a[i][j]=false,c[i][j]=false;
}
return 0;
}
by Bao0714 @ 2024-11-19 19:21:58
求关注@Xu0120
by Xu0120 @ 2024-11-20 12:59:14
谢谢