poj解題報告 2488

2021-06-27 11:51:35 字數 564 閱讀 9266

人生第一次做dfs啊,好激動啊!題目不是很難理解。題意:騎士周遊問題,按照給你的走法,問騎士能否在p * q的棋盤上,從某個點出發不重複走遍棋盤每個點,如果能,輸出騎士每步的位置(按字典序),如果不能,則輸出impossible。

走法可能有多種,必須嚴格按照字典序走。  題目要求以"lexi

cographically"方式輸出,也就是字典序...要以字典序輸出路徑,那麼搜尋的方向以特殊的順序排列了...這樣只要每次從dfs(a,1)開始搜尋,第乙個成功遍歷的路徑一定是以字典序排列

**如下

#include

#include

#include

#define max 30

int kase;

int p,q;

int vis[max][max];

int dir[8][2]=,,,,,,,};

int path[max*max][2];

int flag;

void dfs(int x,int y,int step)

}}            

void main()}}

poj解題報告 1328

不得不說,這題是讓我飽受折磨,畢竟第一次做貪心演算法,而且wa了好多次,幸好有學長的幫助,最終找到了問題所在,是在快排上是問題,double高位不可向int低位轉換,由於一開始強制轉換導致雖然樣例和其他的測試資料過了,但還是wa,現在改完了就對了,附上ac ps 這題通過率是22 真心不簡單 如下 ...

poj解題報告 2586

這題我是用的貪心演算法,其實不用也可以,列舉也能解決,因為情況不多。因為是每連續5個月必有虧損,而一年只有1 5,2 6,3 7,4 8 8 12共8種情況。現在設盈餘為s,虧損為d,可列出以下幾種情況。ssssdssssdss 4ssssddsssddss 3s 2d ssdddssdddss 2...

poj解題報告 2635

這題特別好理解,就是 坑啊。題意就是給乙個數,這個數是兩個大素數的積,再給出乙個數,如果最小的素數比給的數大,列印good,否則列印bad和最小的素數。這題用的方法是高精度求模 同餘模定理。還有素數打表,把10 6內的素數全部預打表,在求模時則列舉到小於l為止。注意打表不能只打到100w,要保證素數...