最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

遞歸例題,判斷到達(dá)問題

2022-06-21 16:16 作者:偶爾k  | 我要投稿


題目描述:

對(duì)于任意一點(diǎn)(x, y),假設(shè)只有兩種移動(dòng)方式:(x, y) ->(x, x + y)?,(x, y) -> (x + y, y)。給定起點(diǎn)坐標(biāo)(x1, y1),判斷是否可以只通過上述移動(dòng)方式到達(dá)終點(diǎn)坐標(biāo)(x2, y2)。例如起點(diǎn)坐標(biāo)為?(2, 10),終點(diǎn)坐標(biāo)為(26, 12),

則?(2, 10)->(2, 12)->(14, 12)->(26, 12)?是有效的移動(dòng)方式,可以從起點(diǎn)到達(dá)終點(diǎn)。

提示:判斷能否從(x1,y1)通過限定的兩種移動(dòng)方式移動(dòng)到(x2,y2),可以轉(zhuǎn)化為判斷能否從(x1,x1+y1)通過限定的兩種移動(dòng)方式移動(dòng)到(x2,y2)以及能否從(x1+y1,y1)通過限定的兩種移動(dòng)方式移動(dòng)到(x2,y2)。

?

輸入:?

第一行為起點(diǎn)坐標(biāo),第二行為終點(diǎn)坐標(biāo)。

輸出:

如果可以通過上述移動(dòng)方式到達(dá)終點(diǎn),輸出Yes.,否則輸出No.

樣例輸入:

2, 10

26, 12

樣例輸出:

Yes.

#include <stdio.h>
#include <math.h>
#include <string.h>
//遞歸的運(yùn)用 
int di(int x,int y,int a,int b)
{
	if(x+y==a+b&&(a==x)&&(b==y)) return 1; //一旦符合條件就返回一 
	else if (x+y>a+b||x>a||y>b) return 0;//只要超出范圍就返回 0
	//就是遞歸函數(shù)里x>a ||y>b就行
	else return di(x+y,y,a,b)+di(x,x+y,a,b);//xy還小就繼續(xù)加?
}//只要遞歸過程中有一個(gè)符合,返回值就不是0
int main()
{
	int x,y;
	int a,b;
	scanf("%d,%d",&x,&y);
	scanf("%d,%d",&a,&b);
	if(di(x,y,a,b)==0) 
	{
		printf("No.\n");
		
	}
	else printf("Yes.\n");
}

?


遞歸例題,判斷到達(dá)問題的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
辰溪县| 夏邑县| 柘城县| 新乡县| 嘉禾县| 墨江| 金塔县| 乌苏市| 威宁| 梅州市| 阜新市| 天镇县| 昌都县| 新兴县| 额尔古纳市| 和林格尔县| 辽阳市| 普兰店市| 内黄县| 明星| 鹤峰县| 库伦旗| 田林县| 沛县| 开阳县| 磐石市| 长宁区| 犍为县| 河西区| 邹城市| 广灵县| 白城市| 韶山市| 留坝县| 长子县| 柘荣县| 定陶县| 潞西市| 富蕴县| 望城县| 高要市|