/ WHOJ / 题库 /

[NOIP2014 普及组] 螺旋矩阵

[NOIP2014 普及组] 螺旋矩阵

测试数据来自 system/1913

题目描述

一个 \(n\) 行 \( n\) 列的螺旋矩阵可由如下方法生成:

从矩阵的左上角(第 \(1\) 行第 \(1\) 列)出发,初始时向右移动;如果前方是未曾经过的格子,则继续前进,否则右转;重复上述操作直至经过矩阵中所有格子。根据经过顺序,在格子中依次填入 \(1, 2, 3, ... , n^2\),便构成了一个螺旋矩阵。

下图是一个 \(n = 4\) 时的螺旋矩阵。

 1     2     3     4
12    13    14     5
11    16    15     6
10     9     8     7

现给出矩阵大小 \(n\) 以及 \(i\) 和 \(j\),请你求出该矩阵中第 \(i\) 行第 \(j\) 列的数是多少。

格式

输入格式

共一行,包含三个整数 \(n\), \(i\), \(j\),每两个整数之间用一个空格隔开,分别表示矩阵大小、待求的数所在的行号和列号。

输出格式

一个整数,表示相应矩阵中第 \(i\) 行第 \(j\) 列的数。

样例1

样例输入1

4 2 3

样例输出1

14

限制

对于 \(50\%\) 的数据,\(1 ≤ n ≤ 100\);

对于 \(100\%\) 的数据,\(1 ≤ n ≤ 30,000,1 ≤ i ≤ n,1 ≤ j ≤ n\)。