度小满第二题暴搜问题。

#include<bits/stdc++.h>
using namespace std;
int N,K;

int ans = 0xffffff;

void dfs(vector<vector<char> > &s,int sx,int sy,int sum,vector<vector<int> > &flag){ 
    if(sx == N-1 && sy == N-1){
        ans = min(ans,sum);
        return;
    }
   
    int dx[4] = {1,0,-1,0},dy[4] = {0,1,0,-1};
    
    for(int i = 0; i < 4;i++){
		int x = sx + dx[i];
        int y = sy + dy[i];
        if(x >= 0 && x < N && y >= 0 && y < N && flag[x][y] && s[x][y] != '1'){
            int t = sum;
            if(s[x][y] == '#'){
                sum += (K + 1);
            }
            else{
                sum += 1;
            }
            flag[x][y] = 0;
            dfs(s,x,y,sum,flag);
            flag[x][y] = 1;
            sum = t;
        }
    }
}

int main(){
    cin>>N>>K;
    vector<vector<char> > s(N,vector<char>(N,'0')); 
    for(int i = 0; i < N;i++){
        for(int j = 0; j < N;j++){
            cin>>s[i][j];
        }
    }
    vector<vector<int> > flag(N,vector<int>(N,1));
    dfs(s,0,0,0,flag);
    if(ans == 0xffffff){
    	cout<<"No Solution"<<endl;
	}else{
		cout<<ans<<endl;
	}
    return 0;
}
奈何,我一个初始化写错了没有ac,难受。#笔试题目##度小满#
全部评论

相关推荐

11-24 00:11
已编辑
广东工业大学 算法工程师
避雷深圳&nbsp;&nbsp;yidao,试用期&nbsp;6&nbsp;个月。好嘛,试用期还没结束,就直接告诉你尽快找下一家吧,我谢谢您嘞
牛客75408465号:笑死,直属领导和 hr 口径都没统一,各自说了一些离谱的被裁理由,你们能不能认真一点呀,哈哈哈哈哈😅😅😅
点赞 评论 收藏
分享
沉淀一会:1.同学你面试评价不错,概率很大,请耐心等待; 2.你的排名比较靠前,不要担心,耐心等待; 3.问题不大,正在审批,不要着急签其他公司,等等我们! 4.预计9月中下旬,安心过节; 5.下周会有结果,请耐心等待下; 6.可能国庆节前后,一有结果我马上通知你; 7.预计10月中旬,再坚持一下; 8.正在走流程,就这两天了; 9.同学,结果我也不知道,你如果查到了也告诉我一声; 10.同学你出线不明朗,建议签其他公司保底! 11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-20 19:57
已编辑
某大厂 golang工程师 23.0k*16.0, 2k房补,年终大概率能拿到
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务