HDU 1495 非常可樂 BFS

2021-09-02 22:09:14 字數 676 閱讀 5859

要注意題目的意思,由樣例 4 1 3 答案是3 ,可以推測,題目是要求將可樂分為兩等份放在兩個容器中。

由於當s為奇數時一定無解,所以只有當s為偶數時進行處理。可以使用二維陣列進行判重,因為可樂總數是確定的,知道兩個容器中的可樂量就能知道第三個容器中的可樂量。

實現在三個容器中倒可樂的方式有點複雜,還好不久之前看紫書時剛好記下來乙個方法。要注意理解。

ac**如下:

#include

#include

#include

#include

using namespace std;

int vis[

110]

[110

],cup[3]

;struct node

//過載運算子,要有返回值,不然在一些oj上會報error};

intbfs()

}}}return0;

}int

main()

//奇數不處理

int ans=

bfs();

if(ans)

printf

("%d\n"

,ans)

;else

printf

("no\n");

}return0;

}

hdu 1495 非常可樂 bfs

題目 剛開始那做這個題 怎麼也想不出為什麼可以用bfs 我認為做這個題目 你想到有6種情況哦 假設s 是瓶子 n,m 是有容量的杯子,s可以倒入n中 s也可以倒入m中 n可以倒入s中 n 也可以倒入m中 m也是一樣的哦 所以就有六種情況哦。下面看具體ac 裡面有註解哦 include include...

HDU 1495 非常可樂 (BFS)

problem description 大 家一定覺的運動以後喝可樂是一件很愜意的事情,但是seeyou卻不這麼認為。因為每次當seeyou買了可樂以後,阿牛就要求和seeyou一起分享這 一瓶可樂,而且一定要喝的和seeyou一樣多。但seeyou的手中只有兩個杯子,它們的容量分別是n 毫公升和m...

hdu 1495 非常可樂 bfs

大家一定覺的運動以後喝可樂是一件很愜意的事情,但是seeyou卻不這麼認為。因為每次當seeyou買了可樂以後,阿牛就要求和seeyou一起分享這一瓶可樂,而且一定要喝的和seeyou一樣多。但seeyou的手中只有兩個杯子,它們的容量分別是n 毫公升和m 毫公升 可樂的體積為s s 101 毫公升...