SDUT OJ 1295 螺旋方陣

2021-07-26 20:53:39 字數 1394 閱讀 4501

time limit: 1000ms

memory limit: 65536kb

submit

statistic

discuss

problem description

n×n的螺旋方陣當n=5和n=3時分別是如下的形式

請給出乙個程式,對於任意的輸入n(0<n<11),輸出按照上面規律所獲得的n×n的螺旋方陣。

input

輸入第一行為整數m(0<m<10),代表有m組輸入;

接下來是m行資料,每行輸入乙個n(0<n<11)。

output

按照輸入的次序,依次輸出每乙個n×n方陣(乙個方陣的同一行資料之間以'\t'分隔)

兩個輸出方陣之間輸出乙個空行。

example input

1

4

example output

1   2   3   4

12  13  14  5

11  16  15  6

10 9  8   7

hint

author

就是乙個簡單的搜尋題

由(0,0)位置開始,先向右開始搜尋,直到到邊界(邊界為座標超出範圍或則已被標記比如

12 34

1213 145

1116 156

109 87

這組數中

12 34

00 00

00 00

00 00

12 34

1213 145

110 06

109 87

搜尋到14時在向右map = 5,所以也在邊界上

搜尋到邊界時改變方向,向下再向左再向上直到搜尋到n*n就是搜尋完時退出dfs

-->|

|map[ ][ ]陣列用於標記是否標記,並記憶路徑。

dfs(x,y,add)中

x為橫座標,

y為縱座標

add為方向

原始碼如下:

#include #include #include #include #include #include using namespace std;

int ans;

int map[20][20];

int n;

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

else

} else if(add == 1)

else

} else if(add == 2)

else

} else if(add == 3)

else }}

int main()

return 0;

}

螺旋方陣 sdut oj

time limit 1000ms memory limit 65536kb problem description 的螺旋方陣當n 5和n 3時分別是如下的形式 請給出乙個程式,對於任意的輸入 0 11 輸出按照上面規律所獲得的 的螺旋方陣。input 輸入第一行為整數 0 10 代表有 組輸入 ...

SDUT 1295 螺旋方陣

的螺旋方陣當n 5和n 3時分別是如下的形式 請給出乙個程式,對於任意的輸入 0 11 輸出按照上面規律所獲得的 的螺旋方陣。input 輸入第一行為整數 0 10 代表有 組輸入 接下來是 行資料,每行輸入乙個 0 11 output 按照輸入的次序,依次輸出每乙個 方陣 乙個方陣的同一行資料之間...

PAT螺旋方陣

題目 所謂 螺旋方陣 是指對任意給定的nn n,將1到n nn times nn n的數字從左上角第1個格仔開始,按順時針螺旋方向順序填入n nn times nn n的方陣裡。本題要求構造這樣的螺旋方陣。輸入在一行中給出乙個正整數nn n 10 10 10 輸出n nn times nn n的螺旋...