洛谷 CF877D 題解

2022-10-10 21:03:10 字數 674 閱讀 4808

題目傳送門

給定乙個 \(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 我們可以快速想出一種貪心策略 最小的 在可以賺錢的當天賣出。顯然我們可以發現,上面的貪心策略是錯誤的,因為我們 的 可以等到可以賺最多的...