JDOJ 2895 螺旋矩陣

2022-03-20 02:34:23 字數 743 閱讀 5289

jdoj傳送門

乙個 n行 n列的螺旋矩陣可由如下方法生成:

從矩陣的左上角(第 1行第 1列)出發,初始時向右移動;如果前方是未曾經過的格仔,則繼續前進,否則右轉;重複上述操作直至經過矩陣中所有格仔。根據經過順序,在格仔中依次填入 1, 2, 3, ... , n2,便構成了乙個螺旋矩陣。

下圖是乙個 n = 4時的螺旋矩陣。

現給出矩陣大小 n以及 i和 j,請你求出該矩陣中第 i行第 j列的數是多少。

輸入共一行,包含三個整數 n,i,j,每兩個整數之間用乙個空格隔開,分別表示矩陣大小、待求的數所在的行號和列號。

輸出共一行,包含乙個整數,表示相應矩陣中第 i行第 j列的數。

4 2 3

【資料說明】

對於 50%的資料,1 ≤ n ≤ 30,000;

對於 100%的資料,1 ≤ n ≤ 109,1 ≤ i ≤ n,1 ≤ j ≤ n。

資料加強,n變成10的9。

肯定是o(1)啦!

考慮先把層數處理出來,然後按最外層性質直接給出答案。

**:

#include#define int long long

using namespace std;

int n,x,y,q,ans;

signed main()

螺旋方針(螺旋矩陣)

螺旋方陣 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...