Description

  Alice有一个N*N的格子,把1-N^2按照从上到下从左到右的顺序填进表格中,允许在表格上进行两种操作:
  (1) 旋转行——这一行的数向右移动一个位置,而最后一列的数会移到第一列;
  (2) 旋转列——这一列的数向下移动一个位置,最后一行的数会移到第一行。
  Alice想把数X移到(R,C)处可以采用以下方法:
  •如果X不在C这一列,通过旋转行操作把X移到C这一列;
  •如果X不在R这一行,通过旋转列操作把X移到R这一行。
  下面是一个把6移到(3,4)的例子:
  aaarticlea/JPG;base64,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" alt="" border="0" />
  Alice现在想采用上述方法,依次把K个数移到各自的目标位置,编程计算每个数需要几次操作。
 

Input

  第一行包含两个整数N(12<=N<=10000)和K(1<=K<=1000)。
  接下来K行,每行包含三个整数X(1<=X<=N^2)、R和C(1<=R,C<=N),描述需要移动的数以及目标位置。
  Alice必须按照输入顺序依次移动。

Output

  输出K行,每行输出一个整数,表示操作次数。
 

Sample Input

输入1:
4 1
6 3 4 输入2:
4 2
6 3 4
6 2 2 输入3:
5 3
1 2 2
2 2 2
12 5 5

Sample Output

输出1:
3 输出2:
3
5 输出3:
2
5
3

  这一题我们先看数据范围,N<=10000 ,我们可以知道,是不可以拿一个二维数组去记录每一个点的,而且时间复杂度也不可以依赖于N,所以我们只能从K下手,对于每一次询问,其实答案非常好算,但是比较难的是每次算出答案后,进行的操作对其他数初始位置的影响,我们可以设置两个结构体数组x[i]和y[i],分别有move,now两个元素。表示第i次询问,在x和y轴方向分别移动了多少,x[i].now表示这一次操作,x移动的是哪一行(因为移动的是一行,所以要用y来表示是哪一行,因为只有y相同,x不相同),move说明向右移了多少,y[i].now表示这次操作移动的是哪一列(同样,一列上的数,x相同,y不相同,所以用x表示),move表示移动了多少,因为题目上规定了先向右移,再向下移,所以我们先计算这一次操作的行,在计算列。

  我们在每一次新的操作时,将以前操作时保存下来的哪一行哪一列移动了多少,一个一个遍历以求出这个数现在真实的位置,在进行计算。

  对于计算时非常简单的,分两种情况,1-将要达到的坐标比现在的坐标大(x坐标,y坐标同时适用),那么直接相减得到的差就是要进行多少次操作,知道xy都达到要求,就可以输出答案。2-即将要达到的坐标比现在的坐标小,我们的操作只能向下向后走,无法回头,只能到达边界后回到第一格,转化成问题1。

Code:

#include<iostream>
#include<cstdio>
using namespace std;
struct number{
long long move;
long long now;
}x[],y[];
long long n,k,x2,y2;
long long num[],x1[],y1[],ans;
int main(){
ios::sync_with_stdio(false);
cin>>n>>k;
for(int i=;i<=k;i++) cin>>num[i]>>y1[i]>>x1[i];
for(int i=;i<=k;i++){
ans=;
x2=num[i]%n;
if(num[i]%n==) x2=n;
y2=num[i]/n;
if(num[i]%n!=) y2++;
for(int j=;j<i;j++){
if(x[j].now==y2){
x2=(x[j].move+x2)%n;
if(x2==) x2=n;
}
if(y[j].now==x2){
y2=(y[j].move+y2)%n;
if(y2==) y2=n;
}
}
if(x1[i]<x2){
ans+=n-x2+x1[i];
x[i].move=n-x2+x1[i];
x[i].now=y2;
}
else if(x1[i]>x2){
ans+=x1[i]-x2;
x[i].move=x1[i]-x2;
x[i].now=y2;
}
if(y1[i]<y2){
ans+=n-y2+y1[i];
y[i].move=n-y2+y1[i];
y[i].now=(x2+x[i].move)%n;
if(y[i].now==) y[i].now=n;
}
else if(y1[i]>y2){
ans+=y1[i]-y2;
y[i].move=y1[i]-y2;
y[i].now=(x2+x[i].move)%n;
if(y[i].now==) y[i].now=n;
}
cout<<ans<<endl;
}
}

  

谢谢阅读。

题解1433. 数码问题 (Standard IO)的更多相关文章

  1. JZOJ 5326. LCA 的统计 (Standard IO)

    5326. LCA 的统计 (Standard IO) Time Limits: 1000 ms Memory Limits: 131072 KB Description Input Output S ...

  2. JZOJ 5307. 【NOIP2017提高A组模拟8.18】偷窃 (Standard IO)

    5307. [NOIP2017提高A组模拟8.18]偷窃 (Standard IO) Time Limits: 1000 ms Memory Limits: 262144 KB Description ...

  3. JZOJ 5286. 【NOIP2017提高A组模拟8.16】花花的森林 (Standard IO)

    5286. [NOIP2017提高A组模拟8.16]花花的森林 (Standard IO) Time Limits: 1000 ms Memory Limits: 131072 KB Descript ...

  4. JZOJ 5305. 【NOIP2017提高A组模拟8.18】C (Standard IO)

    5305. [NOIP2017提高A组模拟8.18]C (Standard IO) Time Limits: 1000 ms Memory Limits: 131072 KB Description ...

  5. JZOJ 5257. 小X的佛光 (Standard IO)

    5257. 小X的佛光 (Standard IO) Time Limits: 2000 ms Memory Limits: 524288 KB Description Input Output Sam ...

  6. JZOJ 5258. 友好数对 (Standard IO)

    5258. 友好数对 (Standard IO) Time Limits: 1000 ms Memory Limits: 524288 KB Detailed Limits Description I ...

  7. JZOJ 1349. 最大公约数 (Standard IO)

    1349. 最大公约数 (Standard IO) Time Limits: 1000 ms Memory Limits: 65536 KB Description 小菜的妹妹小诗就要读小学了!正所谓 ...

  8. JZOJ 1736. 扑克游戏 (Standard IO)

    1736. 扑克游戏 (Standard IO) Time Limits: 1000 ms Memory Limits: 128000 KB Description 有一棵无穷大的满二叉树,根为sta ...

  9. JZOJ 1776. 经济编码 (Standard IO)

    1776. 经济编码 (Standard IO) Time Limits: 1000 ms Memory Limits: 128000 KB Description 为降低资料储存的空间或增加资料传送 ...

随机推荐

  1. vue 跳转页面返回时tab状态有误的解决办法

    一.前言 最近在做新vue项目的时候遇到了一个问题,就是tab间的切换没有问题,当跳转到其他页面时,且这个页面并非子路由,再用浏览器的返回按钮返回首页时,tab的active始终指向默认的第一个选项. ...

  2. Oracle之共享服务器模式

    在共享服务器体系结构中,一个dispatcher分派器将传入网络的多个会话请求定向到一个共享服务器进程池,消除了为每个连接分配一个专用服务器进程的需要.作为一般的指导原则,仅当系统需要并发连接到数据库 ...

  3. spark复习笔记(4):spark脚本分析

    1.[start-all.sh] #!/usr/bin/env bash # # Licensed to the Apache Software Foundation (ASF) under one ...

  4. noscript

    <noscript> <article id="noscript" class="error info_panel"> <head ...

  5. 【vue】父子组件间通信----传函数

    (一)子组件 调用 父组件 方法 方式一) 子组件中通过this.$parent.event来调用父组件的方法 父组件 <template> <div> <child&g ...

  6. SQLZOO 习题

    https://sqlzoo.net 8. 美國.印度和中國(USA, India, China)是人口又大,同時面積又大的國家.排除這些國家. 顯示以人口或面積為大國的國家,但不能同時兩者.顯示國家 ...

  7. RabbitMQ 全套

    本博客代码运行环境 ErLang: ErLang_X64_22 version RabbitMQ: RabbitMQ_Server_3.7.15 version python : Python 3.7 ...

  8. 前端每日实战:91# 视频演示如何用纯 CSS 创作一个行驶中的火车 loader

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/RBLWzJ 可交互视频 此视频是可 ...

  9. hdu 4717: The Moving Points 【三分】

    题目链接 第一次写三分 三分的基本模板 int SanFen(int l,int r) //找凸点 { ) { //mid为中点,midmid为四等分点 ; ; if( f(mid) > f(m ...

  10. LeetCode--054--区螺旋矩阵(java)

    给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素. 示例 1: 输入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ...