ACM的一道有关避雨的c语言题目

2025-03-30 20:31:00
推荐回答(1个)
回答1:

#include
#include
#include
using namespace std;
char str[15][15];
int main()

int t,n,m,i,j,sX,sY;
int mindist,ansX,ansY;
scanf("%d",&t);
while(t--){
scanf("%d%d",&m,&n);
for(i=0;i scanf("%s",str[i]);
for(j=0;j if(str[i][j]=='s'){// 记录s的位置
sX=i;
sY=j;
}
}
mindist=10000;
for(i=0;i for(j=0;j if(str[i][j]=='d'){//每个d到s的距离都和最小距离mindist做比较
int tmp=abs(i-sX)+abs(j-sY);
if(mindist>tmp){// 记录最短位置的下标
mindist=tmp;
ansX=i;
ansY=j;
}
}
}
printf("(%d,%d)\n",ansX,ansY);
}
return 0;
}

请参考这段代码哈,欢迎交流。