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

//蚱蜢问题
#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

相关推荐

09-17 17:33
门头沟学院 Java
阿里面试一直在聊天是不是就是kpi了
offer收割机jo...:应该不是KPI,因为好多人阿里简历都过不去
我的秋招日记
点赞 评论 收藏
分享
08-05 18:14
门头沟学院 Java
小花的沉默:是学历厂没错啊,学历太高了不要
投递小鹏汽车等公司10个岗位
点赞 评论 收藏
分享
骚客履薄冰:公司把你放进人才库,你把公司放进垃圾箱
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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