PATB 1008

本篇描述三种解题代码供读者参考

第一种:使用大数组,控制输出,用截断的方法

不要犯笔者的错误,笔者一开始理解错了题意,想成了左移,已注释,也粘贴了上来

#include <iostream>
#include <bits/stdc++.h>
using namespace std;int A[1000000000];
//下为左移
/*int main(int argc, char **argv){int step = 0, count = 0;scanf("%d %d",&count,&step);for(int i = 0; i < count; i++){scanf("%d",&A[i]);}int len = count + step;for(int i = 0; i < step; i++){A[count+i] = A[i];}for(int i = step; i < len; i++){printf("%d",A[i]);if(i!=len-1){printf(" ");}}
}*/
int main(int argc, char **argv){int count = 0, step = 0;scanf("%d %d",&count,&step);step = step % count;//过2,3数据点的关键for(int i = 0; i < count; i++){scanf("%d",&A[i + step]);}for(int i = 0; i < step; i++){A[i] = A[count+i];}for(int i = 0; i < count; i++){printf("%d",A[i]);if(i!=count-1){printf(" ");}}}

注意笔者,一开始没有添加注释中所写的关键步骤,导致2,3数据点一直不过,下同,加上即可

第二种,矩阵转置的思路,(B,A)=(A^-1, B^-1 )^-1

#include <bits/stdc++.h>
using namespace std;void reverse(int R[], int left, int right);
int main(int argc, char **argv){int m, n;scanf("%d %d", &n, &m);int arr[n];for(int i = 0; i < n; i++){scanf("%d",&arr[i]);}m = m % n;reverse(arr, 0, n-m-1);reverse(arr, n-m, n-1);reverse(arr, 0, n-1);for(int i = 0; i < n-1; i++){printf("%d ",arr[i]);}printf("%d",arr[n-1]);return 0;
}
void reverse(int R[], int left, int right){int i = left, j = right, temp;while(i < j){temp = R[i];R[i] = R[j];R[j] = temp;i++;j--;}
}

第三种,其他网友参考答案,与笔者的第一种方法相反,控制输入,这种方法更巧妙一些

#include <cstdio>
#include <bits/stdc++.h>using namespace std;//在输入上下手,高招
int main(int argc, char **argv){int m, n;scanf("%d %d",&n,&m);m = m % n;int a[n];for(int i = m; i <= n-1; i++){scanf("%d ",&a[i]);}for(int i = 0; i<=m-1; i++){scanf("%d",&a[i]);}for(int i = 0; i <n-1; i++)printf("%d ",a[i]);printf("%d",a[n-1]);return 0;
}

PAT1008数组元素循环右移问题(2,3测试点不过的解决办法)相关推荐

  1. 7-1 数组元素循环右移问题 (20 分)

    7-1 数组元素循环右移问题 (20 分) 一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A​1 ⋯A​N−1​​ ...

  2. C++学习之路 | PTA乙级—— 1008 数组元素循环右移问题 (20分)(精简)

    1008 数组元素循环右移问题 (20分) 一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A ​0 ​​ A ​1 ​​ ...

  3. 浙江大学PAT上机题解析之1008. 数组元素循环右移问题 (20)

    1008. 数组元素循环右移问题 (20) 时间限制  400 ms 内存限制  32000 kB 代码长度限制  8000 B 判题程序    Standard 一个数组A中存有N(N>0)个 ...

  4. c++string转char数组_C++ 算法题解:打印沙漏、素数对猜想、数组元素循环右移问题...

    作者:鲸90830  链接:https://www.cnblogs.com/whale90830/p/10688802.html DS_起步自测 中国大学MOOC_陈越.何钦铭_数据结构_起步能力自测 ...

  5. 7-2 数组元素循环右移问题 (40 分)

    ** 7-2 数组元素循环右移问题 (40 分) ** 一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A 0 A 1 ⋯ ...

  6. 1008 数组元素循环右移问题(C语言)

    1008 数组元素循环右移问题 (20 分) 一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0 A1--A ...

  7. PAT (Basic Level) Practice1008 数组元素循环右移问题

    1008 数组元素循环右移问题 一.题目 一个数组A中存有N(>0)N(>0)N(>0)个整数,在不允许使用另外数组的前 提下,将每个整数循环向右移M(≥0)M(≥0)M(≥0)个位 ...

  8. PATB 1008 数组元素循环右移问题

    1008 数组元素循环右移问题 (20 分) 一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0 A1--A ...

  9. java 数组元素依次右移,将数组元素循环右移k个位置(Java实现)

    用四种方法实现了将数组元素循环右移k个位置,相关的解释作为注释放在代码里面了. package movearrayelement; import java.util.BitSet; public cl ...

最新文章

  1. 差分约束 1:pku 1201 Intervals 2:pku 1364 King 3:hdu 1534
  2. mysql 事务关联_MySQL 关联、联合查询,事务ACID见解
  3. spring aop环绕通知@Around
  4. linux--GCC简单用法
  5. postgresql user表
  6. [小技巧]为Atlas AutoComplete加上滚动条
  7. Java SE 正则表达式 API Pattern 与 Matcher.
  8. MapGuide Maestro 3.0发布
  9. javacv教程文档手册开发指南汇总篇
  10. Visual Studio 2015安装配置图文教程
  11. 电脑一点,让你的电脑一点都不卡
  12. Linux如何自定义屏幕分辨率,Linux手动设置屏幕分辨率的办法
  13. C#,字体多重阴影的绘制
  14. 我也DIY一个Android遥控器-全部开源
  15. java开发购物系统菜单_Java控制台购物系统
  16. 计算机二级wps知识点,计算机二级MS office和WPS office如何备考?
  17. PYsystem003 中职网络安全
  18. java阅读安卓_基于安卓Android的图书阅读与推荐系统APP的设计
  19. 【SHOI2001】洛谷2530 化工厂装箱员
  20. tensorflow微调vgg16 程序代码汇总

热门文章

  1. HDU 5934 2016CCPC杭州 B: Bomb(Trajan强连通)
  2. 安卓文件操作全解:内部文件、公共文件、私有文件、app静态文件
  3. zynq开发系列2:GPIO连接MIO控制LED闪烁(SDK端代码编写详解)
  4. jQuery中eq与get的区别(整理)
  5. Error:Cannot find bean: org.apache.struts.taglib.html.BEAN in any scope
  6. 使用vue完成一个分页效果
  7. Keras源码下载记录
  8. docker集群——介绍Mesos+Zookeeper+Marathon的Docker管理平台
  9. symfony3 使用命令行工具生成Entity实体所踩的坑
  10. kettle的hello world