栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

The Way to Home

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

The Way to Home

A - The Way to Home


题目翻译
一只青蛙生活在 Ox 轴上,需要到达位于 n 点的家。 她从点 1 开始。青蛙可以在不超过 d 的距离处向右跳。 所以,她从点 x 跳跃后,可以到达点 x + a,其中 a 是从 1 到 d 的整数。

对于从 1 到 n 的每个点,都知道其中是否有一朵百合花。 青蛙只能用百合花点跳。 保证1点和n点都有百合花。

确定青蛙需要到达家的最小跳跃次数,即从点 1 到点 n 处。考虑最初青蛙在点 1。如果青蛙无法到达家,则打印 -1。

题目分析
搜索每种情况+贪心

代码

#include
using namespace std;
char a[10001];
int res = 0,flag=1;
int main()
{
	int n, m, k;
	cin >> n >> m;
	for (int i = 0; i < n; i++)
		cin >> a[i];
	if (a[0] == '0' || a[n-1] == '0')
	{
		cout << -1;
		return 0;
	}
	for (int i = 0; i < n-1;)
	{
		k = i;
		for (int j = m; j > 0; j--)//每一步都先往最远的地方
		{
			if (a[i + j] == '1')
			{
				k = i + j;
				res++;
				break;
			}
		}
		if (k == i)
		{
			cout << -1;
			return 0;
		}
		i = k;
	}
	cout << res;
	return 0;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/723284.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号