第九十九題 UVa225 Golygons

2021-10-02 23:02:03 字數 1255 閱讀 2281

第九十九題了,還是好激動的…

【題目大意】

平面上有k個障礙點。 從(0,0)點出發,第一次走1個單位,第二次走2個單位,……, 第n次走n個單位,恰好回到(0,0)。 要求只能沿著東南西北方向走,且每次必須轉彎90°(不能沿著同乙個方向繼續走,也不能後退)。 走出的圖形可以自交,但不能經過障礙點,如圖 7-25所示。每個轉折點只能走一次。 輸入n、k(1≤n≤20,0≤k≤50)和所有障礙點的座標,輸出所有滿足要求的移動序列(用 news表示北、東、西、南),按照字典序從小到大排列,最後輸出移動序列的總數。

【題目分析】

就是搜尋,注意剪枝和處理負座標

// 第一次走一步 第二次兩部  第三次三步  第四次四步  第五次五步  以此類推 

#include

#include

#include

#include

#define maxn 250

#define limit 105

// 處理 負 座標

using

namespace std;

int dir[4]

[2]=

,,,}

;int step[maxn]

,ans,n,m;

char dirtion[4]

=;int sum[maxn]

,g[maxn]

[maxn]

;inline

bool

judge

(int x,

int y,

int d,

int f)if(

abs(x)

+abs

(y)> sum[n]

- sum[d]

)return

true

;return

false;}

void

dfs(

int x,

int y,

int d,

int f)

return;}

for(

int i=

0; i<

4; i++)}

intmain

(int argc,

char

* agrv)

dfs(0,

0,1,

-1);

printf

("found %d golygon(s).\n\n"

,ans);}

}

leetcode 簡單 第九十九題 字串相加

給定兩個字串形式的非負整數num1和num2,計算它們的和。注意 num1和num2的長度都小於 5100.num1和num2都只包含數字0 9.num1和num2都不包含任何前導零。你不能使用任何內建 biginteger 庫,也不能直接將輸入的字串轉換為整數形式。class solution d...