題目傳送門
給定乙個 \(n×m\) 的迷宮和 \(k\),然後給定起點和終點,每次可以像四個方向走 \(1-k\) 步(只能走.
的格仔),求從起點到終點的最小時間,如不能到達輸出 \(-1\)。
這道題求的是最小時間,可以用 \(bfs\) 加剪枝來做,建乙個 \(stl\) 的佇列,把每次向外擴充套件的四個點分別判斷是否合法,如果沒有出界並且合法就壓入佇列,每次取出隊頭判斷是否到達終點,如果到達就輸出答案並退出程式,如果直到隊列為空都沒有找到答案,就輸出 \(-1\)。
注意:
#include using namespace std;
typedef long long ll;
struct node;
ll n,m,k;
ll sx,sy,ex,ey;
char c[1005][1005];
bool vis[1005][1005];
ll xx=;
ll yy=;
queueq;
void bfs();
q.push(r);
while(!q.empty())
} cin>>sx>>sy>>ex>>ey;
bfs();
return 0;
}
洛谷 CF196A 題解
題目傳送門 讀入字串,求該串的最大字典序子串行。迴圈判斷只要當前字元比後面所有的字元的字典序大,就把這個字元存到另乙個字串中,最後和輸入的字串迴圈比較如果該字元和輸入時的是相同的,就輸出。因為比較字串的字典序是要從第乙個字元開始依次往後比較的,所以要想取到最大字典序子串行,就要倒著查詢!includ...
洛谷題解 CF4B Before an Exam
這道題一開始沒理解清楚題意,以為只要最後把每個時長隨機順序輸出來就行,結果。是我vegetable炸了。於是就重新寫。這是個比較典型的貪心題,我的思路就是先判斷這個peter 能不能活下來,能不能滿足要求。這個判斷是比較簡單的,如果要每一天都滿足要求的話,充要條件就是 sum sumtime sum...
洛谷 Codeforces CF865D 題解
若想要深入學習反悔貪心,傳送門。description 已知接下來 n 天的 每天可以 當天的 賣出已有的 或者什麼都不做,求 n 天之後最大的利潤。method 我們可以快速想出一種貪心策略 最小的 在可以賺錢的當天賣出。顯然我們可以發現,上面的貪心策略是錯誤的,因為我們 的 可以等到可以賺最多的...