十字链表模拟

#include<bits/stdc++.h>
using namespace std; int n,m,q;
struct Node{
int v; int d,r;
}ma[1005*1005];
int C(int x,int y){
return x*(m+1)+y;
} int main(){
while(~scanf("%d %d %d",&n,&m,&q)) {
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= m; ++j) {
scanf("%d",&ma[C(i,j)].v);
}
for(int i = 0; i <= n; ++i)
for(int j = 0; j <= m; ++j) {
ma[C(i,j)].r = C(i,j+1);
ma[C(i,j)].d = C(i+1,j);
}
for(int i = 0; i < q; ++i) {
int a,b,c,d,h,w; scanf("%d %d %d %d %d %d",&a,&b,&c,&d,&h,&w);
int t1 = 0; int t2 = 0;
for(int i = 1; i < a; ++i) t1 = ma[t1].d;
for(int i = 1; i < b; ++i) t1 = ma[t1].r;
for(int i = 1; i < c; ++i) t2 = ma[t2].d;
for(int i = 1; i < d; ++i) t2 = ma[t2].r;
int x1,x2; x1 = t1; x2 = t2;
for(int i = 1; i <= w; ++i) {
x1 = ma[x1].r; x2 = ma[x2].r;
swap(ma[x1].d, ma[x2].d);
}
for(int i = 1; i <= h; ++i) {
x1 = ma[x1].d; x2 = ma[x2].d;
swap(ma[x1].r, ma[x2].r);
} x1 = t1, x2 = t2;
for(int i = 1; i <= h; ++i) {
x1 = ma[x1].d; x2 = ma[x2].d;
swap(ma[x1].r, ma[x2].r);
}
for(int i = 1; i <= w; ++i) {
x1 = ma[x1].r; x2 = ma[x2].r;
swap(ma[x1].d, ma[x2].d);
}
} int tt = 0;
for(int i = 1; i <= n; ++i) {
tt = ma[tt].d;
int t1 = tt;
for(int j = 1; j <= m; ++j) {
t1 = ma[t1].r;
if(j!=1) printf(" ");
printf("%d",ma[t1].v);
} printf("\n");
} }
return 0;
}

CF367 E - Working routine的更多相关文章

  1. What is the difference between routine , method , procedure , function ? please explain it with example?

    a method is named and attached to an object. so, for example, a method is like a function but is con ...

  2. End Routine

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  3. Routine Problem(数学)

     Routine Problem time limit per test 1 second memory limit per test 256 megabytes input standard inp ...

  4. ABAP中Conversion Routine示例

          在SAP的Domain定义中,Output Length下面有个Convers. routine的标识,这是SAP用来进行输入输出转换的.我们知道,屏幕上的I/O字段都是字符串形式的,而数 ...

  5. 用完成例程(Completion Routine)实现的重叠I/O模型

    /// 用完成例程(Completion Routine)实现的重叠I/O模型 /// 异步IO模型 /// 用完成例程来实现重叠I/O比用事件通知简单得多.在这个模型中,主线程只用不停的接受连接 / ...

  6. mysql存储过程出现OUT or INOUT argument 10 for routine

    OUT or INOUT argument 10 for routine * is not a variable or NEW pseudo-variable 我查网上很多出现在call的时候没有添加 ...

  7. mysql存储过程 OUT or INOUT argument 3 for routine

    mysql存储过程出现: OUT or INOUT argument 3 for routine gotask.UserLogin is not a variable or NEW pseudo-va ...

  8. 十字链表 Codeforces Round #367 E Working routine

    // 十字链表 Codeforces Round #367 E Working routine // 题意:给你一个矩阵,q次询问,每次交换两个子矩阵,问最后的矩阵 // 思路:暴力肯定不行.我们可以 ...

  9. SAP BW 例程(Routine)【开始例程、关键值或特性的例程、结束例程】

    定义 可以使用例程定义关键值或特性的复杂的转换规则. 例程是本地 ABAP 类,它们包括预定义的定义和实施范围.进站和出站参数的 TYPES及方法签名都存储在定义范围中.实际例程创建于实施范围中.使用 ...

随机推荐

  1. R语言-广义线性模型

    使用场景:结果变量是类别型,二值变量和多分类变量,不满足正态分布  结果变量是计数型,并且他们的均值和方差都是相关的 解决方法:使用广义线性模型,它包含费正太因变量的分析 1.Logistics回归( ...

  2. javascript 数字字母组合的随机数

    Math.random()方法用于生成,结果为0-1间的一个伪随机数(包括0,不包括1) ,通常的办法是结合parseInt().Math.floor() 或者 Math.ceil()进行四舍五入处理 ...

  3. [Python Study Notes]cpu信息

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

  4. IDEA的导包优化问题

    一.现象 文件初始导包状态 package co.x.dw.function; import java.text.SimpleDateFormat; import java.util.ArrayLis ...

  5. 如何在Centos 7上用Logrotate管理日志文件

    何为Logrotate? Logrotate是一个实用的日志管理工具,旨在简化对系统上生成大量的日志文件进行管理. Logrotate允许自动旋转压缩,删除和邮寄日志文件,从而节省宝贵的磁盘空间. L ...

  6. Hive入门教程

    Hive 安装 相比起很多教程先介绍概念,我喜欢先动手装上,然后用例子来介绍概念.我们先来安装一下Hive 先确认是否已经安装了对应的yum源,如果没有照这个教程里面写的安装cdh的yum源http: ...

  7. python爬取快手视频 多线程下载

    就是为了兴趣才搞的这个,ok 废话不多说 直接开始. 环境: python 2.7 + win10 工具:fiddler postman 安卓模拟器 首先,打开fiddler,fiddler作为htt ...

  8. springBoot之配置文件的读取以及过滤器和拦截器的使用

    前言 在之前的学习springBoot中,成功的实现了Restful风格的基本服务.但是想将之前的工程作为一个项目来说,那些是仅仅不够的.可能还需要获取自定义的配置以及添加过滤器和拦截器.至于为什么将 ...

  9. scp的简单记忆方法

    scp虽然只有把文见发送到远端和从远端copy文件俩功能,但是常常把俩功能的先写什么给计混了,所以我就用通俗的大白话给总结了下,十分容易记忆,这里给大家分享一下.scp 我们常用的两个功能: (1)把 ...

  10. 创建Maven web工程不能解析EL表达式的解决办法

    在web.xml中讲头部改为: <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee&qu ...