求解查詢假幣問題

2021-10-10 17:23:45 字數 2325 閱讀 5370

二分

#include

#include

#include

#define max 100

int a[max]

;int n;

intsum

(int low,

int high)

return sum;

}int

solve

(int low,

int high)

if(low==high-1)

int mid=

(low+high)/2

;int sum1,sum2;if(

(high-low+1)

%2==0

)else

if(sum1==sum2)

else

if(sum1else

}int

main()

srand((

unsigned

)time

(null))

; a[

rand()

%n]=1;

printf

("求解過程:");

printf

("硬幣%d是假幣\n"

,solve(0

,n-1))

;}

三分

#include

#include

#include

#define max 102

int a[max]

;int n;

intsum

(int low,

int high)

return sum;

}int

solve

(int low,

int high)

if(low==high-1)

else

if(low==high-2)

else

if(sum1>sum2)

else

}int len=

(high-low+1)

/3;int mid1=low+len-1;

int mid2=mid1+len;

sum1=

sum(low,mid1)

; sum2=

sum(mid1+

1,mid2)

;printf

("硬幣%d-%d和硬幣%d-%d稱重一次:"

,low,mid1,mid1+

1,mid2);if

(sum1else

if(sum1>sum2)

else

}int

main()

srand((

unsigned

)time

(null))

; a[

rand()

%n]=1;

printf

("求解過程:");

printf

("硬幣%d是假幣\n"

,solve(0

,n-1))

;}

回溯

#include

#include

#include

using

namespace std;

int w[12]

;string a[3]

=;string b[3]

=;string c=

;bool

balanced()

if(leftw!="down"

)return

false;if

(leftw>rightw&&c[i]

!="up"

)return

false;if

(leftw==rightw&&c[i]

!="even"

)return

false;}

return

true;}

void

solve

(int

&x,int

&y) w[i]=-

1;if(

balanced()

) w[i]=0

;}}int

main()

看到陳凱歌導演評價董思怡:繼續本色出演吧!

不禁感慨,每個人來到世界上,就是要活出內在的自己,活出自己的本性,隨心而行,自然會像樹和花、像鳥和魚,生長綻放,如魚得水,自在飛翔。

列舉 假幣問題

有12枚硬幣。其中有11枚真幣和1枚假幣。假幣和真幣重量不同,但不知道假幣比真幣輕還是重。現在,用一架天平稱了這些幣三次,告訴你稱的結果,請你找出假幣並且確定假幣是輕是重 資料保證一定能找出來 輸入 第一行是測試資料組數。每組資料有三行,每行表示一次稱量的結果。銀幣標號為a l。每次稱量的結果用三個...

HPU 1042 假幣問題

時間限制 1 sec記憶體限制 128 mb 提交 200解決 34統計 居然有假幣!事情是這樣的,現在豬肉漲了,但是農民的工資卻不見漲啊,沒錢怎麼買豬肉啊。老王這就去買豬肉,結果找來的零錢中有假幣!可惜老王一不小心把它混進了一堆真幣裡面去了。現在知道假幣的重量比真幣的質量要輕。給你乙個天平,請用最...

問題 1187 假幣問題 借鑑 我很菜

時間限制 1sec 記憶體限制 128mb 居然有假幣!事情是這樣的,現在豬肉漲了,但是農民的工資卻不見漲啊,沒錢怎麼買豬肉啊。老王這就去買豬肉,結果找來的零錢中有假幣!可惜老王一不小心把它混進了一堆真幣裡面去了。現在知道假幣的重量比真幣的質量要輕。給你乙個天平,請用最快的時間把那個可惡的假幣找出來...