关注
第二题跟你思路差不多
#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
相关推荐
牛客热帖
更多
正在热议
更多
# 你觉得实习能学到东西吗 #
19079次浏览 465人参与
# 秋招什么时候开投比较合适? #
8403次浏览 171人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
22685次浏览 188人参与
# 实习,不懂就问 #
30922次浏览 532人参与
# 软开人,秋招你打算投哪些公司呢 #
101168次浏览 951人参与
# 如何准备秋招 #
12606次浏览 229人参与
# 运营人求职交流聚集地 #
141212次浏览 989人参与
# 每个月的工资都是怎么分配的? #
15632次浏览 333人参与
# 你觉得现在还能进互联网吗? #
4921次浏览 102人参与
# 预测一下26届秋招形势 #
26721次浏览 248人参与
# 你们公司几号发工资 #
19168次浏览 129人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
28252次浏览 456人参与
# 晒一晒你收到的礼盒 #
70333次浏览 403人参与
# 打工人的精神状态 #
54398次浏览 993人参与
# 硬件应届生薪资是否普遍偏低? #
72736次浏览 511人参与
# 高考出分的那一天,我__ #
17396次浏览 269人参与
# 大疆今年的机械笔试难吗? #
41570次浏览 456人参与
# 来聊聊你认为的薪资天花板是哪家? #
31010次浏览 175人参与
# 牛客十周岁生日快乐 #
145288次浏览 1613人参与
# 机械实习一天多少钱合适? #
29064次浏览 177人参与
# 大家实习每天都在干啥 #
82967次浏览 506人参与