1. 程式人生 > >CSU Problem 1779 錯誤的演算法——湖南省第十一屆大學生計算機程式設計競賽

CSU Problem 1779 錯誤的演算法——湖南省第十一屆大學生計算機程式設計競賽

有道題目是這樣的:

輸入一個 n 行 m 列網格,找一個格子,使得它所在的行和列中所有格子的數之和最大。如果答 案不唯一,輸出任意解即可。比如,在下面的例子中,最優解是(1,3),即第一行和的三列的交 點(行從上到下編號為 1~n,列從左到右編號為 1~m),所有 7 個數之和為 35。


快要比賽的時候,有一個裁判想到了這樣一個演算法: 

首先找一行 r(1<=r<=n) 使得該行所有數之和最大,然後找一列 c(1<=c<=m) 使得該列 所有數之和最大,最後直接輸出(r,c)。如果有多個滿足條件的 r,輸出最小的 r。對 於 c 同樣處理。

顯然,這個演算法是錯的,但它竟然通過了大部分測試資料!你能找出那些讓這個錯誤演算法得到 正確結果的“弱”資料,以便裁判們改進這些資料嗎?