走迷宫
@起点,.终点,1障碍,0可以走,输出路径
#include <iostream> using namespace std; int dx[4]={0,0,1,-1},dy[4]={1,-1,0,0}; int startx,starty,endx,endy,w,l; char puzzle[10][10];//最多支持10*10迷宫 bool walked[10][10]; struct point { int x; int y; }; point path[100]; void dfs(int x,int y,int cnt) { path[cnt].x=x;//记录路径 path[cnt].y=y; cnt++; walked[x][y]=true;//标记走过 if(x==endx&&y==endy)//走到终点 { for(int i=0;i<cnt-1;i++) cout<<path[i].x<<","<<path[i].y<<"->"; cout<<path[cnt-1].x<<","<<path[cnt-1].y<<endl; return; } bool t=false; for(int k=0;k<4;k++) { int tx=x+dx[k],ty=y+dy[k]; if(puzzle[tx][ty]!='1'&&walked[tx][ty]==false&&tx>=0&&ty>=0&&tx<w&&ty<l)//可以走 { t=true; dfs(tx,ty,cnt); walked[tx][ty]=false; } } if(!t)//无路可走 return; } int main() { cin>>w>>l; for(int i=0;i<w;i++) for(int j=0;j<l;j++) { cin>>puzzle[i][j]; //0可以走,1障碍,@起点,.终点 if(puzzle[i][j]=='@') { startx=i; starty=j; } if(puzzle[i][j]=='.') { endx=i; endy=j; } } dfs(startx,starty,0); }
最大岛屿面积
1陆地 0海洋
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】