1493: 蛇形矩阵
题目描述
【问题描述】(本题所有的矩阵,就相当于数字填入一个正方形)
一个n行n列的蛇形矩阵可由如下方法生成:
从矩阵的左上角(第1行第1列)出发,初始时向右移动一格,然后向左下移动,直到碰到边界;如果下方是在范围内未出界的格子,则向下移动一格接着往右上移动,否则向右移动一格接着往右上移动,直到到达边界;接着,如果右边的格子在范围内,往右移动一格,否则向下移动一格,接着往左下直到边界;重复上述操作直至经过矩阵中所有格子。根据经过顺序,在格子中依次填入1, 2, 3, ... , n*n,便构成了一个蛇形矩阵。
下图是一个n = 4 时的蛇形矩阵。
|
1 |
2 |
6 |
7 |
3 |
5 |
8 |
13 |
4 |
9 |
12 |
14 |
10 |
11 |
15 |
16 |
现给出矩阵大小n以及k,请你求出该矩阵中k值所在位置的行号和列号(行号列号都从1开始)。
输入
第一行两个整数n和k,分别表示矩阵的行数和要求位置的数值k。
输出
输出一行两个整数,表示k在矩阵中的行号和列号,中间用一个空格分隔。
样例输入 复制
4 5
样例输出 复制
2 2
提示
【输入输出样例1】
matrix.in |
matrix.out |
4 5 |
2 2 |
【样例1解释】
4*4的矩阵如下:5位于第二行第二列。
1 2 6 7
3 5 8 13
4 9 12 14
10 11 15 16
【数据范围】
对于70%的数据,1≤n≤100;
对于100%的数据,1≤n≤30,000,1≤k≤n*n。