PAT乙级练习题.1008
来源:互联网 发布:vc控制台 数据库 编辑:程序博客网 时间:2024/05/13 08:57
PAT.1008 数组元素循环右移问题
一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0 A1……AN-1)变换为(AN-M …… AN-1 A0 A1……AN-M-1)(最后M个数循环移至最前面的M个位置)。
如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?
输入格式:每个输入包含一个测试用例,第1行输入N ( 1<=N<=100)、M(M>=0);第2行输入N个整数,之间用空格分隔。
输出格式:在一行中输出循环右移M位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。
输入样例:
6 2
1 2 3 4 5 6
输出样例:
5 6 1 2 3 4
题目的意思要我们考虑如何能够达到移动最少的次数输出同样的效果?
我完全忽视了题目的要求,直接把输入的数组复制一遍,然后串接在一起,直接从循环位置的地方开始输出
最重要的一个地方是题目中M只要求>=0,所以当M大于N的时候要把M对N取余。
示例代码:
include <iostream>using namespace std;int main(){ int N,M; cin>>N>>M; int * array=new int[2*N]; for(int i=0;i < N;i++){ cin>>array[i]; array[i+N]=array[i]; } M%=N; cout<< array[N-M]; for(int i=N-M+1;i < 2*N-M;i++) cout<<" "<< array[i]; return 0;}
阅读全文
0 0
- PAT乙级练习题.1008
- PAT 乙级练习题.1005
- PAT乙级练习题.1006
- PAT.乙级练习题.1007
- PAT乙级练习题B1004.成绩排名
- PAT乙级练习题B1020. 月饼
- PAT乙级练习题B1028.人口普查
- PAT乙级练习题B1046. 划拳
- PAT乙级练习题B1052. 卖个萌
- PAT乙级练习题B1055. 集体照
- PAT乙级练习题B1040. 有几个PAT
- PAT乙级练习题1002. 写出这个数
- PAT乙级练习题B1003. 我要通过!
- PAT乙级练习题B1007. 素数对猜想
- PAT乙级练习题B1009. 说反话
- PAT乙级练习题B1010. 一元多项式求导
- PAT乙级练习题B1012. 数字分类
- PAT乙级练习题B1013.数素数
- DL | MXNet 学习笔记(一)
- Linux 自动备份mysql数据
- TCP协议与UDP协议的区别
- PS
- Python3+gdal 读取tiff格式数据
- PAT乙级练习题.1008
- sklearn.cross_validation模块
- 虚拟机字节码执行引擎
- struts.xml文件中package元素的各大属性讲解
- javaweb_day7(JDBC)的配置信息提取到配置文件
- linux ——系统虚拟机管理
- Leetcode第38题
- Mvp购物车
- 景驰无人驾驶 1024 编程邀请赛 A.热爱工作的蒜蒜(最短路,SPFA)