模拟 3897: Catch the Mouse
http://www.tzcoder.cn/acmhome/problemdetail.do?&method=showdetail&id=3897
猫捉老鼠
猫和老鼠一直走,直到碰壁或出界,则右转
技巧(方向%4)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#include<bits/stdc++.h> #define INF 0x3f3f3f3f using namespace std; char mp[15][15]; int ci,cj,mi,mj,ans=0,fm=0,fc=0; int dir[4][2]={-1,0,0,1,1,0,0,-1}; void next() { mi+=dir[fm][0]; mj+=dir[fm][1]; if(mi<1||mi>10||mj<1||mj>10||mp[mi][mj]=='*'){ mi-=dir[fm][0]; mj-=dir[fm][1]; fm=(fm+1)%4; } ci+=dir[fc][0]; cj+=dir[fc][1]; if(ci<1||ci>10||cj<1||cj>10||mp[ci][cj]=='*'){ ci-=dir[fc][0]; cj-=dir[fc][1]; fc=(fc+1)%4; } } void solve() { while(1){ if(ans==1e6)break; if(mi==ci&&mj==cj)break; next(); ans++; } } int main() { for(int i=1;i<=10;i++){ for(int j=1;j<=10;j++){ scanf("%c",&mp[i][j]); if(mp[i][j]=='M')mi=i,mj=j; else if(mp[i][j]=='C')ci=i,cj=j; } getchar(); } solve(); printf("%d\n",ans==1e6?0:ans); return 0; }
分类:
多校训练----------
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!
· 用 C# 插值字符串处理器写一个 sscanf
2019-05-15 4971:Gift