站外题求助!
  • 板块学术版
  • 楼主xiaoshumiao
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/1/12 09:40
  • 上次更新2024/1/12 16:32:23
查看原帖
站外题求助!
1008513
xiaoshumiao楼主2024/1/12 09:40

题目

感觉没什么问题,但是 8080 分(BFS)。

难道是思路的问题?

#include<cstdio>
#include<queue>
using namespace std;
struct Node {
  int val;
  long long stp;
};
long long bfs(int n) {
  queue<Node>q;
  q.push((Node){3,0});
  while(!q.empty()) {
  	Node p=q.front();
  	q.pop();
  	if(p.val==n)
  	  return p.stp;
  	q.push((Node){p.val-1,p.stp+1});
  	int tmp=p.val*2;
  	if(tmp>10000)
  	  tmp=10000;
  	q.push((Node){tmp,p.stp+1});
  }
  return -1;
}
int main() {
  int n;
  scanf("%d",&n);
  printf("%lld",bfs(n));
  return 0;
}
2024/1/12 09:40
加载中...