当前位置: 首页 > news >正文

各大网站收录提交入口网站建设基础与网页设计

各大网站收录提交入口,网站建设基础与网页设计,外贸品牌网站制作,网站建设开发案例题目描述 小明班上是n行m列的座位排列,座位按照行列顺序编号,如6行7列,那么第1行第1列座位号为1号、第1行第7列为7号、第3行第4列为18号,如此递推。 现在期中考刚结束要进行全班换座位。班主任刚刚公布了换位指令,指…

题目描述

小明班上是n行m列的座位排列,座位按照行列顺序编号,如6行7列,那么第1行第1列座位号为1号、第1行第7列为7号、第3行第4列为18号,如此递推。

现在期中考刚结束要进行全班换座位。班主任刚刚公布了换位指令,指令一共z条且只有以下几类:

①行对换;

②列对换。

请你根据换位指令找到换位结束后第x行第y列的原座位号。

输入格式

第一行为三个整数,分别为n、m、z,以空格隔开,整数含义如题所示。

第二至z+1行有三个整数,分别为a、b、c。若a为1,则将bc行对换;若a为2,则将bc列对换。

最后一行有两个整数,分别为x和y,整数含义如题所示。

输出格式

输出1行,输出第x行第y列的原座位号。

 输入输出样例 1

输入 #1
5 5 2
1 1 2
2 3 1
1 1

输出 #1
8
 

说明/提示

对于60%的数据:1≤n,m,z≤1000;

对于100%的数据:1≤n,m≤5000,1≤z≤100000。

参考答案

#include <iostream>
using namespace std;
int main() 
{int n,m,z,x,y;int p[5001],q[5001],a,b,c;cin>>n>>m>>z;for(int i=1;i<=n;i++) p[i]=i;for(int i=1;i<=m;i++) q[i]=i;for(int i=1;i<=z;i++){cin>>a>>b>>c;if(a==1)swap(p[b],p[c]);else swap(q[b],q[c]);}cin>>x>>y;int row=p[x];int col=q[y];cout<<(row-1)*m+col;return 0;
}

解题思路

  1. 初始化行和列的映射数组:我们使用两个数组pq来分别记录行和列的当前映射关系。初始时,p[i] = i表示第i行当前还是原来的第i行,q[j] = j表示第j列当前还是原来的第j列。

  2. 处理交换操作:对于每个交换操作,如果是行交换(a=1),我们交换p数组中的bc位置的值;如果是列交换(a=2),我们交换q数组中的bc位置的值。

  3. 查询最终座位号:根据处理后的pq数组,找到第x行和第y列对应的原始行和列。原始座位号的计算公式为  (原始行-1)*m+原始列 ,其中m是列数。

  4. (直接用二维数组模拟会超时)

http://www.yayakq.cn/news/330536/

相关文章:

  • 合肥大型网站设计公网站城市切换如何做
  • 订餐网站模板下载线框图网站
  • 布局网站开发网站怎么投放广告
  • 建设银行 网站用户广告软文营销平台
  • 社交网络服务网站家装装饰设计
  • 学做缝纫的网站网站建设与维护试卷分析
  • 如何进行网站运营与规划中国电力工程造价信息网
  • 广州比较好的网站设计wordpress 的论坛
  • 网站虚拟主机哪个好网站建设图片流程
  • 网站建设目标和功能介绍网站建设业务员怎么做
  • 织梦免费购物网站广州定制网站设计
  • 清浦网站建设怎样在电脑登录wordpress
  • 网站开发需要哪些岗位常见的网络广告
  • 东莞四网合一网站建设汽车网站 源码
  • 郑州网站建设的软件设计师培训学校有哪些
  • 网龙公司有做网站吗xz域名网站
  • 建设网站群的意义大城县建设局网站
  • 辽阳企业网站建设费做像百姓网这样网站多少钱
  • pxhere素材网站建设向58同城的网站
  • 环保部网站建设项目商家店铺小程序
  • 兼职网站项目建设报告(完整版)广东哪有做网赌网站
  • 外贸行业网站推广wordpress开发用什么软件
  • 网站的背景图怎么做广汉网站建设ghxhwl
  • 做网站首页文字排版技巧怎样创建一个微信公众号
  • 怎么仿别人的网站郑州建站以来
  • 网站大全网站免费天津装修设计平台
  • chn域名网站网站制作简单模版
  • 电脑建网站wordpress媒体库素材打不开
  • 济南企业网站制智能展厅
  • 自己做网站要会什么软件下载盘锦做网站选哪家好