测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A1186. [COCI-2008_2009-regional]#6 TABLICA

编程题 省选/NOI-

题目描述

Ivo has an N×N table. The table has the integers 1 through N2 inscribed in row-major order. The following operations can be done on the table:
1. Rotate a row – all cells in a single row are rotated right, so that the number in the last column moves to the first.
2. Rotate a column – all cells in a single column are rotated down, so that the number in the last row moves to the first.
Ivo occasionally feels the urge to move a number X to cell (R, C) and proceeds as follows:
• While X is not in column C, rotate the row it is in.
• While X is not in row R, rotate the column it is in.
Here is an example of how to move number 6 to cell (3, 4), start from the initial configuration:
Ivo wants to move K numbers one after another. Write a program that calculates the number of rotations needed.

输入格式

The first line contains two integers N (2 ≤ N ≤ 10000) and K (1 ≤ K ≤ 1000), the table dimension and the number of moves.
Each of the following K lines contains three integers X (1 ≤ X ≤ N2), R and C (1 ≤ R, C ≤ N), the description of one move Ivo wants to make. Ivo does the moves in the order in which they are given.

输出格式

Output K lines; for each move, output the number of rotations needed.

输入输出样例

输入 #1
4 1 
6 3 4 
输出 #1
3 
输入 #2
4 2 
6 3 4 
6 2 2
输出 #2
3 
5 
输入 #3
5 3 
1 2 2 
2 2 2 
12 5 5 
输出 #3
2 
5 
3
上一题 去做题 下一题