关注
第二题跟你思路差不多
#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int map[11][11];
int cnt[100][100];
int flag[100][100];
int inf=100;
struct point
{
int x;
int y;
};
int f(int n,int m,vector<point> &vec)
{
int x=0,y=0;
while (1)
{
if(y+1<n&&map[x][y+1]==1&&flag[x][y+1]==0)
{
cnt[x][y+1]=cnt[x][y]+1;
y=y+1;
point p;p.x=x,p.y=y;
vec.push_back(p);
flag[x][y]=1;
}
else if(x-1<n&&map[x-1][y]==1&&flag[x-1][y]==0)
{
cnt[x-1][y]=cnt[x][y]+3;
x=x-1;
point p;p.x=x,p.y=y;
vec.push_back(p);
flag[x][y]=1;
}
else if(x+1<n&&map[x+1][y]==1&&flag[x+1][y]==0)
{
cnt[x+1][y]=cnt[x][y];
x=x+1;
point p;p.x=x,p.y=y;
vec.push_back(p);
flag[x][y]=1;
}
else if(y-1<n&&map[x][y-1]==1&&flag[x][y-1]==0)
{
cnt[x][y-1]=cnt[x][y]+1;
y=y-1;
point p;p.x=x,p.y=y;
vec.push_back(p);
flag[x][y]=1;
}
else
{
point p=*(vec.end()-1);
map[p.x][p.y]=0;
flag[p.x][p.y]=0;
vec.pop_back();
}
//cout<<x<<","<<y<<endl;
if(x==0&&y==m-1)
break;
}
return vec.size();
}
int main()
{
int n,m,p;
while (cin>>n>>m>>p)
{
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
cin>>map[i][j];
}
vector<point> vec;
int rtn = f(n,m,vec);
if(rtn>=p)
cout<<"Can not escape!"<<endl;
else
{
cout<<"[0,0]";
for(int i=0;i<vec.size();i++)
cout<<",["<<vec[i].x<<","<<vec[i].y<<"]";
cout<<endl;
}
}
}
查看原帖
点赞 1
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你觉得实习能学到东西吗 #
25824次浏览 565人参与
# 不考虑转正,实习多久合适 #
30788次浏览 142人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
24153次浏览 202人参与
# 秋招什么时候开投比较合适? #
14449次浏览 233人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
28604次浏览 460人参与
# 如何准备秋招 #
15664次浏览 290人参与
# 发工资后,你做的第一件事是什么 #
66948次浏览 223人参与
# 工作中哪个瞬间让你想离职 #
25025次浏览 173人参与
# 实习,不懂就问 #
37287次浏览 606人参与
# 软开人,秋招你打算投哪些公司呢 #
101843次浏览 958人参与
# 大疆今年的机械笔试难吗? #
41897次浏览 456人参与
# 元戎启行求职进展汇总 #
32276次浏览 238人参与
# 实习生如何通过转正 #
89401次浏览 1341人参与
# 每个月的工资都是怎么分配的? #
21085次浏览 381人参与
# 运营人求职交流聚集地 #
141765次浏览 989人参与
# 你觉得现在还能进互联网吗? #
6235次浏览 124人参与
# 预测一下26届秋招形势 #
33003次浏览 278人参与
# 牛客十周岁生日快乐 #
145887次浏览 1616人参与
# 你们公司几号发工资 #
19769次浏览 133人参与
# 校招入职后的感受 #
291978次浏览 2745人参与
# 硬件应届生薪资是否普遍偏低? #
73066次浏览 512人参与