文章

7

粉丝

254

获赞

2

访问

79.7k

头像
看第一行
P1420 清华大学机试题
发布于2020年4月11日 01:13
阅读数 9.9k

DFS之前AC了,但是后来想了一下思路不对。有DFS做出来的麻烦给个评论

下面是BFS 实现

 

#include<stdio.h>
#include<queue>
#include<string.h>
#include<string>
#include<map>
using namespace std;
struct mayacode{
    string s;
    int step;
};


int bfs(string s){
    map<string, bool>flag;
    int ans = -1;
    
    mayacode code;
    code.s = s;
    code.step = 0;
    
    queue<mayacode>q;
    q.push(code);
    flag[code.s] = true;
    
    while(!q.empty()){
        mayacode temp = q.front();
        q.pop();
        if(temp.s.find("2012") != string::npos){ //找到了
            ans = temp.step;
            return ans;
        }
  &nb...

登录查看完整内容


登录后发布评论

7 条评论
admin SVIP
2020年4月11日 11:28

这个题数据量小,用BFS的话效率高很快就能搜到,用DFS也可以的。

但是你这个代码问题很大啊surprise

随便一组数据都有问题

比如输入

10
0021212011

你的输出是2

正确答案是1

赞(0)

_lz : 回复 admin: 能不能再提供一些案例数据

2020年4月11日 13:03

_lz : 回复 admin: 能不能再提供一些案例数据

2020年4月11日 13:03

_lz : 回复 admin: 能不能再提供一些案例数据

2020年4月11日 13:03

_lz : 回复 admin: 能不能再提供一些案例数据

2020年4月11日 13:03

_lz : 回复 admin: 能不能再提供一些案例数据

2020年4月11日 13:03

admin : 回复 admin: 和正确的BFS代码同时跑一些数据来看就知道了呀

2020年4月11日 16:50