博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
P1518 两只塔姆沃斯牛 The Tamworth Two
阅读量:5143 次
发布时间:2019-06-13

本文共 2027 字,大约阅读时间需要 6 分钟。

模拟

题目链接:https://www.luogu.org/problem/show?pid=1518

 

非常简单的模拟,刚开始我想的是bfs,

理解成了相遇的最小步数。

然后……调了一上午,QAQQ

重新看题,发现理解错了……(我到底在想什么)

重点是……题目都告诉你怎么写了!!!

(截自洛谷)

我还能不能再zz一点……QAQQ

不扯了,伤心……

注意判重需要确定整个状态

包括两个坐标和各自的方向,

如果走到相同的状态,则不可能相遇

其他的还真没什么好说的……伤心QAQ

Codes:

 

1 #include
2 #include
3 #include
4 #include
5 #include
6 7 using namespace std; 8 9 const int N = 10 + 10;10 char mp[N][N];11 bool vis[N][N][N][N][N][N];12 int xx[] = {
0,-1,0,1,0},yy[] = {
0,0,1,0,-1};13 14 bool check(int x,int y){15 if(x > 10 || x < 1 || y < 1 || y > 10) return false; //越界 16 if(mp[x][y] == '*') return false; //障碍物 17 return true;18 }19 int work(int x,int y,int lx,int ly){20 int f1,f2;21 f1 = f2 = 1;22 int step = 0;//minutes 23 while(1){24 if(check(x + xx[f1],y + yy[f1])) //如果能走,继续原来的方向 25 x += xx[f1],y += yy[f1];26 else //否则用这一分钟转变方向 27 f1 = f1 % 4 + 1;28 if(check(lx + xx[f2],ly + yy[f2])) 29 lx += xx[f2],ly += yy[f2];30 else 31 f2 = f2 % 4 + 1;32 step ++;33 if(vis[x][y][lx][ly][f1][f2]) //走到相同状态则不可能相遇 34 return 0;35 vis[x][y][lx][ly][f1][f2] = 1;36 if(x == lx && y == ly) //相遇 37 return step;38 }39 return 0;40 }41 int main(){42 int lx,ly,x,y;43 for(int i = 1;i <= 10;++ i){44 scanf("%s",mp[i] + 1); //注意不能写 &mp[i] + 1 45 for(int j = 1;mp[i][j];++ j){46 if(mp[i][j] == 'F') 47 lx = i,48 ly = j;49 if(mp[i][j] == 'C')50 x = i,51 y = j;52 }53 }54 if(x == lx && y == ly) {55 cout << "0" << '\n';56 return 0;57 }58 int ans = work(x,y,lx,ly);59 cout << ans << '\n';60 return 0;61 }

 

MAS:

判重注意确定一种状态。

看错题这种错误还是少犯,认真读题啊!!

 

转载于:https://www.cnblogs.com/Loizbq/p/7761617.html

你可能感兴趣的文章
mime.go
查看>>
微信公众平台接口配置问题
查看>>
SQL查询记录添加序号(HANA)
查看>>
LeetCode 74. Search a 2D Matrix(搜索二维矩阵)
查看>>
利用SignalR来同步更新Winfrom
查看>>
java中的静态方法
查看>>
反射机制
查看>>
CocoaPod
查看>>
前端面试题
查看>>
Ant学习总结1
查看>>
IntelliJ IDEA 的热部署插件JRebel 安装及使用(破解)
查看>>
bzoj 2795 [Poi2012]A Horrible Poem hash+数论
查看>>
SQL主要内容(二)
查看>>
Kali1.1.0下配置OpenVAS及如何解决相关问题
查看>>
centos 常用命令
查看>>
P1137 旅行计划
查看>>
洛谷 P2212 [USACO14MAR]浇地Watering the Fields
查看>>
umask函数
查看>>
PHP高级笔记汇总
查看>>
cxGrid用法-最新
查看>>