仔細看題
其實就是數塔問題的變種,多了乙個能否訪問的條件。
所以就按照他的思路來就行了,多乙個way來儲存兩個地點是否能夠到達。
關於選擇的輸出,用path陣列儲存前驅即可,
#include
using
namespace
std;
const
int nmax = 25;
int mine[nmax];
int way[nmax][nmax];
int dp[nmax];
int path[nmax];
int n;
int main()
}for(int i = 1;i<=n;++i) dp[i] = mine[i];
for(int i = n; i>=1;--i)}}
}int ans = -1;
int id = 0;
for(int i = 1;i<=n;++i)
}bool isfirst = true;
while(id!=0)
printf("\n%d\n",ans);
}return
0;}
洛谷P2196 挖地雷
題目鏈結 給你n個地窖和路徑,求最多能挖多少雷,和挖雷最多的路徑。第一行乙個整數n表示有n個地窖 第二行有n個整數表示每個地窖的地雷數 以下有若干行,每行有兩個數x,y表示x可以到y,保證x小於y。最後一行有兩個0,表示輸入結束 第一行輸出挖地雷的順序。第二行為最多挖出的地雷數 輸入 1 5 10 ...
題解 P2196 挖地雷
作為乙個剛剛接觸oi的蒟蒻,看到題目想都沒想就寫了乙個搜尋,列舉每乙個地窖作為起點再比較答案然後記錄下最優的,雖然此方法十分地暴力,但由於n 20所以仍然能ac的 include include include using namespace std const int maxn 20 int n,...
洛谷P5049 洛谷P5022 題解 旅行
原題 資料加強版 加強版 參考你谷題解 終於調過了 又是一如既往的申必錯誤 noi plus石錘了 原題的資料允許我們 o n 2 暴力斷邊,但是加強版的資料達到了 n log n 級別,我們必須在斷邊這一環節尋求更好的解法。考慮我們進入環後在何處回溯 根據繼續走環走到的點分類 設當前已經從 b 走...