mioj 國王招駙馬

mioj

國王招駙馬


描述

國王爲了給公主找到這個世界上最聰明的人作爲駙馬,發明了一個遊戲。在遊戲中,國王設置了多個連續的屋子,從第一個屋子開始,每個屋子都會有n(n>=0)個門來進入接下來的1~n個屋子(例如這個屋子有2個門,那麼就是第一個門可以進入之後第一個屋子,第二個門可以進入之後第二個屋子), 最後經過屋子最少的人將獲得勝利,迎娶美麗的公主。


輸入

一組數據,分別用(,)隔開,每一個數字表示對應的屋子共有多少扇門。


輸出

一個整數,表示到達最後屋子時經過的最少的屋子數,如果不能到達則返回-1。


//athor spark
// 
#include "stdio.h"
int main(void)

{
	static int a,b[100],i,j,k;
	static char p;
	while (~scanf("%d,", &a))
	{
		p = getchar();
		if (p == 'p')
			break;
		b[i++] = a;

	}
	int lastreach = 0, ans = 0, reach = b[0];
	for (j = 1; j < i&&j <= reach; j++)
	{
		if (j > lastreach)
		{
			ans++;
			lastreach = reach;
		}
		if (reach >= j + b[j])
			reach = reach;
		else
			reach = j + b[j];
	}
	if (reach < i - 1)
		ans = -1;
	printf("%d",ans);
	scanf("%d,", &a);
}

嘿嘿一次循環搞定。。。。。。。一次遍歷每個房子最遠能到的位置
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章