1008. 数组元素循环右移问题 (20)

时间限制
400 ms
内存限制
32000 kB
代码长度限制
8000 B
判题程序
Standard

一个数组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

==========================================idea:

通过 N M 的计算, 在接收数据的时候 通过 实现计算 在 N 个数据经过 M次数的 循环右移 之后,
在数组中的位序是 怎样的, 可以将 原N 长度的数组分割为 [0, M-1] and [M , N-1]
在 经过 循环右移 之后 实质上 就是将这两个分割 位置进行 对调: [M , N-1] [0, M] 所以接收的时候 先将 0..N-M 在原始数组中的 数据 存放到 M, N-1 位序 对应的数组中
然后, 在接收 N-M+1 .. N 在原始数组中的 数据 存放到 0..M-1 为序对应的数组中。 最后,将存放好数据的数组 从 0.. N-1 进行输出 就会得到 对原始 输入的数组 进行循环 右移 M 次 的 新数组了 ===========================================src:
#include <stdio.h>

int main ( )
{
int N, M , i ; int arr[] ; scanf ( "%d" , &N ) ;
scanf ( "%d" , &M ) ; for ( i =M ; i <=N- ; i++ )
{
scanf ( "%d" , &arr[i] ) ;
} for ( i = ; i <= M- ; i++ )
{
scanf ( "%d" , &arr[i] ) ;
}
for ( i = ; i <= N - ; i++ )
{
printf("%d", arr[i]) ;
if ( i != N- )
printf(" ") ;
} return ;
}

17/20 错了一个地方

pat_1008的更多相关文章

  1. PAT_1008 数组元素循环右移问题

    题目描述: 一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0A1……AN-1)变换为(AN-M …… AN ...

随机推荐

  1. 【转】LINUX系统I/O复用技术之二:poll() -- 不错

    原文网址:http://www.cnblogs.com/alyssaCui/archive/2013/04/01/2993886.html poll poll或select为大部分Unix/Linux ...

  2. XUTils框架的学习(三)

    前面两章说了xutils框架的引入和注解模块的使用和数据库模块的使用,想了解的朋友可以去看看. 前面在说数据库模块的操作的时候是手动创建数据库并保存在asset文件夹里面,再通过I/O将数据库写进应用 ...

  3. linux 以root用户登录ftp

    ftp默认禁止以root用户登录. 可以修改 /etc/ftpusers 文件,把root注释掉,即可以root用户登录ftp

  4. Linux 修改默认文件关联打开程序

    从总体上讲 /etc/gnome/defaults.list 保存了全局的打开方式-/.local/share/applications/mimeapps.list 保存了个人的打开方式当这两个文件不 ...

  5. 在 slua 中使用更新的面向对象方案

    上一篇记录了我使用 Slua.Class 来实现面向对象扩展 C# 中得类,但实际使用中,更多地情况是直接在 lua 中定义基类然后扩展,于是触发了我重新思考下是否两种形式应该统一用一种,目前的方案中 ...

  6. Tornado源码探寻(开篇)

    一.先从一个简单的socket说起 运行脚本并在浏览器上访问http://127.0.0.1:8080 #!/usr/bin/env python #coding:utf-8 import socke ...

  7. Java-String之寻根问底

    Java-String之寻根问底 引言 在java编程中,几乎每天都会跟String打交道,因此,深入理解String及其用法十分有必要.下面分三方面来详细说明下String相关的特点及用法 •Imm ...

  8. php判断字符串是不是xml格式并解析

    最近遇到要要判断一个字符串是不是xml格式,网上找到一段代码,试了一下,完全可行 /**      * 解析XML格式的字符串      *      * @param string $str     ...

  9. 编译 Spring-framework的经验分享

    Spring-framework source codegit url: git clone git://github.com/SpringSource/spring-framework.git 导入 ...

  10. MySQL执行计划 EXPLAIN参数

    MySQL执行计划参数详解 转http://www.jianshu.com/p/7134286b3a09 MySQL数据库中,在SELECT查询语句前边加上“EXPLAIN”或者“DESC”关键字,即 ...