ZCMU-1101
这个题不怎么难,就是当时没有理解到字典序的意思:我一直以为是自己元素间的比较,后再同学帮助下明白这里是与其他比,这样就很简单了。就是要求当前那个最小就可以了。
对这道题我有点吐槽明明自己都说了最后一组数据没有空行,但是最后AC后的代码还是有换行的!
#include<string.h>
//字典序理解有误,不是和自己元素比较而是与其他段
//比较同一下标,所以让当前最小就行
char s[11][11];
int main(){
int i,j,n,flag=0;
while(~scanf("%d",&n)){
memset(s,0,sizeof(s));
for(i=0;i<n;i++){
scanf("%s",s[i]);
//这样输入方便可以省去对换行的处理
//%s以换行或者空格结束
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(s[i][j]=='.'){
//找到最小
//因为不要相同所以能小就小
s[i][j]='A';
if(s[i][j+1]=='A'||s[i][j-1]=='A'||s[i-1][j]=='A'||s[i+1][j]=='A'){
s[i][j]='B';
if(s[i][j+1]=='B'||s[i][j-1]=='B'||s[i-1][j]=='B'||s[i+1][j]=='B'){
s[i][j]='C';
if(s[i][j+1]=='C'||s[i][j-1]=='C'||s[i-1][j]=='C'||s[i+1][j]=='C'){
s[i][j]='D';
if(s[i][j+1]=='D'||s[i][j-1]=='D'||s[i-1][j]=='D'||s[i+1][j]=='D')
s[i][j]='E';
}
}
}
}
}
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("%c",s[i][j]);
}
printf("\n");
}
printf("\n");//感觉有问题
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现