BFS 螺旋矩陣

2022-06-09 04:03:10 字數 1279 閱讀 7627

b先生最近發現了名為「螺旋網格」的網格。

如下圖所示構建網格。

(網格實際上是無限的。該圖只是其中的一小部分。)

考慮到在其中旅行,您可以自由使用任何包含複數或1的單元格,但不允許旅行到包含質數的任何單元格。

您可以向上,向下,向左或向右行駛,但不能沿對角線行駛。

編寫程式以查詢成對的非素數之間的最短路徑的長度,或者報告這是不可能的。

輸入項每個測試用例都由包含兩個非素數整數1 <= x,y <= 10,000的輸入行描述。

輸出量對於每個測試用例,在一行中顯示其用例編號,後跟最短路徑或「不可能」(不帶引號)的長度。

題意:就是給你兩個數,在乙個螺旋矩陣中只能走不是素數的格仔,問你走過去的最短路,如果不能走過去就輸出impossible

解法:就是bfs+螺旋矩陣

#include#include

#include

#include

using

namespace

std;

const

int maxx=6e4+10

;int map[301][301

];int vis[300][300

];int

biaoji[maxx];

const

int maxn=5e4+100;//

void getprime()//}

//}//}

void

getprime()

void

get()

x++;

for(int i=x;i<=y;i++)

y--;

for(int i=y;i>=a;i--)

b--;

for(int i=b;i>a;i--)

a++;

} }struct

node;

int dx[4]=;

int dy[4]=;

intx,y;

int dfs(int si,int sj,int

c) q.push(now);

while(!q.empty())

vis[now.x][now.y]=1

; q.push(now);}}

return -1;}

intmain()} }

int ans=dfs(si,sj,0

);

if(ans!=-1

)

else}}

螺旋方針(螺旋矩陣)

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

螺旋矩陣 蛇形矩陣

問題描述 給定乙個包含m行n列的m x n矩陣,程式設計按照螺旋順序,輸出該矩陣中的所有元素。輸入有多個矩陣。每個矩陣資料的第1行有兩個整數m和n,接著是乙個mxn矩陣的描述,有m行,每行有n個整數 輸出對每個矩陣資料,按照螺旋順序輸出矩陣陣列的元素。輸入樣例 3 31 2 3 4 5 6 7 8 ...

列印螺旋矩陣

首先,看一下螺旋矩陣的樣子.如下圖 求螺旋陣列的 如下 dev cpp平台 include using namespace std int alloc mat int round 動態二維陣列的分配 void del mat int mat,int round 刪除動態分配的二維陣列 void pr...