poniedziałek, 19 lutego 2018

00026 - 1262 - ROL (k) - www.pl.spoj.com

Treść zadania:

Przesuń elementy tablicy cyklicznie w lewo o zadaną liczbę miejsc.

Input
Najpierw dwie liczby n i k takie, że 1 < k < n < 10000, a następnie w kolejnym wierszu n liczb.

Output
W jednym wierszu n liczb w zmienionym porządku (przesuniętych cyklicznie o k miejsc).

Example

Input:
5 3
1 2 3 4 5

Output:
4 5 1 2 3


Kod źródłowy w C:
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n, k, i;
    int tab[10000];
    scanf("%d%d",&n,&k);
    for(i=0; i<n; ++i)
    {
        scanf("%d",&tab[i]);
    }
    for(i=k; i<n; ++i)
    {
        printf("%d ",tab[i]);
    }
    for(i=0; i<k; ++i)
    {
        printf("%d ",tab[i]);
    }
    return 0;
}


Kod źródłowy w C++:
#include <iostream>

using namespace std;

int main()
{
    int n, k, i;
    int tab[10000];
    cin>>n>>k;
    for(i=0; i<n; ++i)
    {
        cin>>tab[i];
    }
    for(i=k; i<n; ++i)
    {
        cout<<tab[i]<<" ";
    }
    for(i=0; i<k; ++i)
    {
        cout<<tab[i]<<" ";
    }
    return 0;
}



Źródło: http://pl.spoj.com/problems/PP0602D/

1 komentarz: