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

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

相关推荐

哞客37422655...:兄弟别慌!💪 民办本找实习确实难点,但不是没机会。100+简历才2个面试,可能简历需要优化下: 项目经历写具体点,突出测试用例、bug数量等 技能栏把测试工具/方法论写清楚 可以考虑降低预期,先进小厂积累经验 测试岗相对好进,坚持投!现在才半个月,有人投3个月才上岸的😭 加油,offer在路上了🚀
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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