乐视的蚱蜢问题,这么做不知道对不对。

//蚱蜢问题
#include<iostream>
#include<vector>
#include<deque>
using namespace std;
int main()
{
	int n;
	while (cin >> n)
	{
		deque<int>d;
		d.push_back(0);
		int count = 0;
		int find = false;
		while (!find)
		{
			int k=0;
			while (k<pow(2,count))
			{
				if (d.front() - count - 1 != n&&d.front() + count + 1 != n)
				{
					d.push_back(d.front()-count-1);
					d.push_back(d.front() +count +1);
					d.pop_front();
				}
				else
				{
					find = true;
					break;
				}
				k++;
			}
			count++;
		}
		cout << count << endl;
	}
}
用的一个双向队列,应该是BFS思想

全部评论
试了下,这样很容易就超时了,估计不行。。
点赞 回复 分享
发布于 2016-09-19 18:36

相关推荐

积极的小学生不要香菜:你才沟通多少,没500不要说难
点赞 评论 收藏
分享
06-12 17:46
门头沟学院 Java
运营你豪哥:来说重点: ​1.项目前置,时间倒序。​​ 2.​项目描述强化结果与量化效果(STAR原则里的R)。​​ ​3.个人技能精炼,明确掌握程度,突出核心。​​ ​4.增加强有力开头的个人总结部分。​​ 5.​优化教育背景(成绩排名)、合并奖项与活动。​​
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 14:35
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务