题目名称 1811. [NOIP 2014PJ]螺旋矩阵
输入输出 matrixc.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarcqw 于2014-11-12加入
开放分组 全部用户
提交状态
分类标签
找规律 基本 NOIP/CSP 递归
分享题解
通过:138, 提交:453, 通过率:30.46%
GravatarYoungsc 100 0.000 s 0.00 MiB C++
GravatarHarry Potter 100 0.000 s 0.00 MiB C++
Gravatar夜莺 100 0.000 s 0.00 MiB C++
Gravatar夜莺 100 0.000 s 0.00 MiB C++
GravatarNancy 100 0.000 s 0.00 MiB C++
Gravatar 100 0.000 s 0.00 MiB C++
Gravatar1020 100 0.000 s 0.00 MiB C++
Gravatarpztl 100 0.000 s 0.00 MiB C++
Gravatar*附加题* 100 0.000 s 0.00 MiB C++
Gravatar00000 100 0.000 s 0.00 MiB C++
关于 螺旋矩阵 的近10条评论(全部评论)
if(x==i)
{
tot=tot+j-y;
p=false;
}
else
{
tot=tot+r-y;
y=r;
u++;
}
if(p)
if(y==j)
{
tot=tot+i-x;
p=false;
}
else
{
tot=tot+d-x;
x=d;
r--;
}
if(p)
if(x==i)
{
tot=tot-j+y;
p=false;
}
else
{
tot=tot+y-l;
y=l;
d--;
}
if(p)
if(y==j)
{
tot=tot-i+x;
p=false;
}
else
{
tot=tot+x-u;
x=u;
l++;
}
Gravatar (=@__@=)
2016-10-11 20:45 7楼
30行模拟
GravatarDissolute丶Tokgo
2015-10-14 10:22 6楼
回复 @常可神牛 :
多谢常神牛的题解
Gravatar甘罗
2015-02-11 21:45 5楼
题解地址:
螺旋矩阵题解
Gravatar铁策
2014-12-08 13:49 4楼
这题库好奇葩,非得每道题的文件名都不同,难道不应该优先考虑竞赛原题的文件名一致么。。。
Gravatar铁策
2014-12-08 13:01 3楼
Gravatar席一鸣
2014-11-26 21:32 2楼
找规律吧
GravatarSatoshi
2014-11-24 20:42 1楼

1811. [NOIP 2014PJ]螺旋矩阵

★★   输入文件:matrixc.in   输出文件:matrixc.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

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

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

下图是一个 $n = 4$ 时的螺旋矩阵。

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

【输入格式】

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

【输出格式】

输出共一行,包含一个整数,宝石相应的矩阵中第$i$行第$j$列的数。

【样例输入】

4 2 3

【样例输出】

14

【数据说明】

对于50%的数据,$1\leq n\leq 100$;

对于100%的数据,$1\leq n\leq 30,000,1\leq i\leq n,1\leq j\leq n$。

【来源】

NOIP2014 普及组 Task3