关注
#include <iostream>
#include <vector>
#include <climits>
using namespace std;
vector<vector<int> > map;
int maxf = INT_MIN;
vector<pair<int,int>> shortesresult;
/*
To find the path with least cost;
Move left or right costs 1
Move Up costs 3
Move down costs 0
input:
4 4 10 // n m p p is total allowed cost
1 1 1 1
1 1 1 1
0 0 0 1
0 0 1 1
*/
bool dfs(int x,int y,int n,int m,int
p,vector<pair<int,int>> &result){
if(p <= 0){
return false; //
}
if(x == 0 and y == m){
result.push_back({x,y});
for(auto &p : result){
//cout << '[' << p.first <<
"," << p.second << ']';
}
//cout << p << endl;
if(p > maxf){
shortesresult = result;
maxf = p;
}
result.pop_back(); // bug!!!!!!
return true;
}
if(x < 0 || y < 0 || x > n || y > m ){
return false;
}
if(map[x][y] <= 0){
return false;
}
//cout << x << " " << y
<< " " << p << endl;
result.push_back({x,y});
map[x][y] = -1;
bool r1 = dfs(x + 1,y,n,m,p,result);
bool r2 = dfs(x,y + 1,n,m,p - 1,result);
bool r3 = dfs(x,y - 1,n,m,p - 1,result);
bool r4 = dfs(x - 1,y,n,m,p - 3,result);
result.pop_back();
map[x][y] = 1;
return false;
}
int main(){
int n,m,p,tmp;
cin >> n >> m >>p;
map = vector<vector<int>
>(n,vector<int>(m,0));
for(int i = 0; i < n; i ++){
for(int j = 0;j < m;j ++){
cin >> tmp;
map[i][j] = tmp;
}
}
vector<pair<int,int>> result;
bool isFirst = true;
dfs(0,0,n-1,m-1,p,result);
if(shortesresult.size() != 0){
for(auto &p : shortesresult){
if(!isFirst){
cout << ',';
}
cout << '[' << p.first << ","
<< p.second << ']';
isFirst = false;
}
}else{
cout << "Can not escape!" << endl;
}
cout << endl;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客49896997...:电话都漏出来,要保护个人隐私,我先来,你说我见过最美的牛客女孩 点赞 评论 收藏
分享
牛客热帖
更多
- 1... 备战春招,网申一键填写工具,发布了!!!2.6W
- 2... 实习产出如何包装?7173
- 3... 【官方活动】牛客新春计划:给陌生人的一封信6356
- 4... 32岁程序员猝死,底薪3千要24h待岗5539
- 5... 27双非非科班4段实习从字节tt到腾讯wxg5486
- 6... 27届实习时间线4283
- 7... 我爸对计算机行业的看法,是否准确?4144
- 8... 专科工作一年了,写一些想说的话,做个记录,也为我之前的学习画上句号!3553
- 9... 【牛客娘创作大赏】来生成牛客娘表情包,送牛币,送牛客娘周边2895
- 10... 第一次被同事气笑了2817
正在热议
更多
# 哪些公司开春招了? #
9717次浏览 117人参与
# 工作压力大怎么缓解 #
137401次浏览 1229人参与
# 上班以后,你还有哪些坚持的爱好? #
6896次浏览 169人参与
# 找工作以来,你最看不惯__ #
13575次浏览 292人参与
# 你都在哪些场所面过试? #
19140次浏览 221人参与
# AI coding的好用工具分享 #
17501次浏览 359人参与
# 互联网公司评价 #
478255次浏览 4053人参与
# 实习怎么做才有更好的产出 #
11558次浏览 209人参与
# 实习教会我的事 #
51529次浏览 399人参与
# 聊聊你的被动加班经历 #
2170次浏览 48人参与
# 四大天坑是哪四家? #
100261次浏览 234人参与
# 你最近因为什么迷茫? #
33194次浏览 475人参与
# 实习离职怎么跟领导说 #
75789次浏览 420人参与
# 实习生工资多少才算正常? #
12298次浏览 192人参与
# 拼多多工作体验 #
44263次浏览 283人参与
# 机械制造面试记录 #
307849次浏览 3152人参与
# 你给AI提过哪些离谱的需求? #
5737次浏览 163人参与
# 实习好累,可以辞职全力准备秋招吗 #
518168次浏览 3554人参与
# 领导做过最不靠谱的事 #
12771次浏览 210人参与
# 工作一周年分享 #
49928次浏览 256人参与
SHEIN希音公司福利 337人发布
查看5道真题和解析