如何解出這道演算法訓練題

時間 2021-06-07 18:02:56

1樓:

為了方便起見,我用1到14代表每個人的名字

把卡的位置也標上1到14號

對於每個同學(假設是3號)來說,首先翻開自己名字對應位置的卡(3號卡),如果該卡上寫著自己的名字,那麼這位同學就過關了。假設上面寫著的不是3號的名字(假設是11號),那麼接著就翻開11號卡。反覆操作直到看到3號的名字,或者已經翻開了7張卡。

由此可見,只要一開始的排列中,不存在長度超過7的環,那麼所有的同學都能在7步之內找到自己的名字的卡。

既然第乙個同學能看到所有的卡,那麼他就能確定是否存在長度超過7的環,如果存在,那麼只會有乙個環長度超過7,那麼我們可以通過交換兩張卡片,使得這個環變成兩個長度均不超過7的環。

舉個例子,假如1號卡寫著2號名字,2號卡寫著3號名字,...,7號卡寫著8號名字,8號卡寫著1號名字。此時我們有乙個長度為8的環。此時我們可以交換4號卡和8號卡的位置。

那麼就有1號卡寫著2號名字,2號卡寫著3號名字,3號卡寫著4號名字,新的4號卡寫著原來8號卡的1號名字。此處構成長度為4的環。

5號卡寫著6號名字,6號卡寫著7號名字,7號卡寫著8號名字,新的8號卡寫著原來4號卡的5號名字。此處構成長度為4的環。

綜上所述,第乙個同學總是可以交換一對卡片,使得不存在長度超過7的環。

2樓:黃亮anthony

少了乙個條件吧?每個同學都有一次交換一對卡片的機會。

先約定奇數同學會翻前一半,偶數同學會翻後一半。

每個同學負責把後乙個同學的名字交換到他會翻的那一半去,如果沒看到,就不交換。

第乙個同學別弄錯就行。

如何解這道題

yyx 做這種題就是把左右邊湊成形式一樣的東西,然後就可以發現整體變成了乙個等差或等比數列,從而進行求解 注 為方便書寫,以下用a表示an,用b表示an 1,c d為待定係數 對等式兩邊同時加上乙個c後取倒數 目的是為了保持右側形式不變的情況下,把左邊弄成類似的形式,技巧性較強 1 a c 3b 1...

這道規律題如何解?

fever wong 我覺得這道題的關鍵在於如何衡量最合適,有沒有哪種標準或準則。答案可以是17,分析可參見 這道規律題如何解?當然我覺得也可以是7。左上有4 3 2 3 1 左下有5 5 3 3 1 右下有7 9 5 3 1 因此可猜測右上有?6 4 3 1,可得?7。 樂e學教育 我認為填5不妥...

這道平面幾何題如何解?

Shin 用反證法。對於三角形 我們先取 中點 中點 中點 那麼顯然 那麼我們假設在 上存在 滿足 且 不與 重合。即與至少有兩組頂點不同。顯然 1.若有一組頂點相同。不妨假設 那有 我們再分兩種情況。1.1那麼 只能在 上,否則 DF eeimg 1 或者 DE eeimg 1 然而此時 angl...