e527. 106 彰雲嘉區複賽 - Q7 無刻度容器倒水問題
標籤 : 106學年度 小崴 彰雲嘉 複賽 資訊學科能力
通過比率 : 65人/76人 ( 86% ) [非即時]
評分方式:
Tolerant

最近更新 : 2019-10-29 21:19

內容

七、無刻度容器倒水問題 ( 20分 )

   

    給定兩個容量分別為x公升和y公升的無刻度容器,若只能將容器完全裝滿、完全倒光或將水倒到另外的容器中,要設法量出z公升的水最少需要多少次? (裝滿、倒光、倒到另一個容器各算一次),若無法倒出z公升的水則輸出-1。假設處理過程中水量不損耗,水無限供應。

    假設以序對 (x, y) 代表目前容量。若x=3, y=5, z=4,則其可能的動作如下:(1)先把三公升容器的水加滿 (3, 0), (2)將三公升容器中的水倒入五公升的容器內,這時五公升容器內有3公升水 (0, 3)。(3)再次把三公升的水加滿變成 (3, 3),(4)再將三公升容器中的水倒入五公升倒滿五公升的容器內,五公升容器裝滿5公升水,而這時三公升容器內的水應該還剩下1公升 (1, 5),(5) 請把五公升容器內的水全倒掉 (1, 0),(6)再將三公升容器內的所剩1公升水倒入五公升容器內 (0, 1),(7) 再一次將三公升的容器裝滿 (3, 1),(8)再倒入現有1公升水的五公升容器內,就這樣出現4公升的水 (0,4)。共需要8次,其步驟可以表示如下:(3, 0) – (0, 3) – (3, 3) –(1, 5) –(1, 0) –(0, 1) –(3, 1) –(0, 4)。

    範例 x=9, y=7, z=6,則可能的方法為 (9, 0) – (2, 7) – (2, 0) – (0, 2) – (9, 2) –(4, 7) –(4, 0) –(0, 4) –(9, 4) –(6, 7) 需10次。

    範例x=6, y=4, z=3,則可能的方法為 (6, 0)– ( 2, 4) – ( 2, 0) – (0, 2) – (6, 2) –(4, 4) –(4, 0) – (0, 4)– (6, 4) – (6, 0) 無法量出。

 

* 測資均為官方測資

* 為模擬正式競賽,WA 時 不公開正確答案!

* 加油~ !

輸入說明

輸入資料中每一列為一整數n,代表接下來有n組測試資料。

第二列開始每列有三個正整數,正整數間以一個空白隔開,依序為 x, y, z 。

(x,y,z 均不超過 1025 ! )

輸出說明

輸出量出z公升所需要的最少動作次數,輸入資料錯誤或無法量出請輸出 -1 。

範例輸入 #1
3
3 5 4
9 7 6 
6 4 3 
範例輸出 #1
6
10
-1
測資資訊:
記憶體限制: 512 MB
不公開 測資點#0 (25%): 1.0s , <1K
不公開 測資點#1 (25%): 1.0s , <1K
不公開 測資點#2 (25%): 1.0s , <1K
不公開 測資點#3 (25%): 1.0s , <1K
提示 :
標籤:
106學年度 小崴 彰雲嘉 複賽 資訊學科能力
出處:
106彰雲嘉資訊學科能力複賽 [管理者: jackyname1@g ... (☆♬○♩程式家小崴●♪✧♩) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
26628 ck1090758@gl ... (peienwu) e527
題解
565 2021-08-17 13:32
23018 joeliao (RRRrrrr!!!) e527
回朔法
662 2020-10-17 19:50