程式設計基礎 田忌賽馬

2021-06-18 02:00:43 字數 759 閱讀 4483

貪心演算法(又稱貪婪演算法)是指,在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,他所做出的僅是在某種意義上的區域性最優解。貪心演算法不是對所有問題都能得到整體最優解,但對範圍相當廣泛的許多問題他能產生整體最優解或者是整體最優解的近似解。

給定齊王與田忌的賽馬各n匹怎麼排順序才能讓田忌勝率更大呢?

首先對齊王與田忌的賽馬分別進行由大到小的排序,分出馬的等級來。

開始比賽:

把齊王的最差的馬同田忌最差的馬比較,結果有三種情況:

1、田忌的馬更快:比,田忌加分;

2、齊王的馬更快:讓田忌的這匹馬同齊王最快的馬比,輸也要拉乙個最好的;

3、打成平手,這時再如下比:

齊王最快的馬與田忌最快的馬比較,還是三種情況:

1)田忌的馬快,就讓它把齊王最快的馬比下去;

2)齊王馬快田忌就用剛才打平手的劣馬同齊王最好的馬比,輸也要拉乙個最好的;

3)平手則讓田忌的最慢的馬同齊王最快的馬比。

#includevoid qsort(int *a,int l,int r)

a[i]=x;

qsort(a,l,i-1);

qsort(a,i+1,r);

}int main()

else if(tian[la]>wang[lb])

else

else }

}printf("%d\n",count*200);

}return 0;

}

nyoj 田忌賽馬

題目大意 第一行給出n表示有n場比賽,以下兩行分別給出n個數,分別表示田忌和齊王n匹馬的速度,贏家從輸者手中獲得200錢,求田忌最多能贏多少錢。思路 1.先把兩者的馬按速度從大到小排序 2.從最大的馬開始比較,若出現齊王的馬比田忌的馬快,先暫停。3.將此時齊王最快的馬和田忌最慢的馬比賽,田忌輸掉一局...

1257 田忌賽馬

時間限制 1 sec 記憶體限制 128 mb 提交 97 解決 50 提交 狀態 討論版 命題人 外部匯入 賽馬是一古老的遊戲,早在西元前四世紀的中國,處在諸侯割據的狀態,歷史上稱為 戰國時期 在魏國作官的孫臏,因為受到同僚龐涓的 被齊國使臣救出後,到達齊國國都。賽馬是當時最受齊國貴族歡迎的娛樂專...

田忌賽馬(貪心)

描述 中國古代的歷史故事 田忌賽馬 是為大家所熟知的。話說齊王和田忌又要賽馬了,他們各派出n匹馬,每場比賽,輸的一方將要給贏的一方200兩 如果是平局的話,雙方都不必拿出錢。現在每匹馬的速度值是固定而且已知的,而齊王出馬也不管田忌的出馬順序。請問田忌該如何安排自己的馬去對抗齊王的馬,才能贏取最多的錢...