[Mảng 1 Chiều Cơ Bản]. Bài 33. Xoay phải

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Nguồn bài:
28Tech
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Cho mảng A[] gồm N phần tử, hãy dịch các phần tử trong mảng sang phải K vị trí, khi dịch phải thì phần tử cuối cùng của dãy sẽ quay vòng lại trở thành phần tử đầu tiên


Đầu vào

Dòng 1 gồm NK

Dòng 2 gồm N số của mảng A[]


Giới hạn

1<=N<=1000

1<=K<=1000

0<=A[i]<=100


Đầu ra

In ra mảng sau khi xoay trái


Ví dụ :

Input 01
10 3
1 2 3 4 5 6 7 8 9 10
Output 01
8 9 10 1 2 3 4 5 6 7

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    itachi123  đã bình luận lúc 31, Tháng 8, 2024, 11:09

    include<bits/stdc++.h>

    using namespace std;

    vector<int> dichtraik(int k, vector<int> &v, int n) { vector<int> res = v; if(k>n) { k=k%n; } for(int i=0;i<k;i++) { res.push_back(v[i]); } res.erase(res.begin(), res.begin() + k); return res; }

    vector<int> dichphaik(int k, vector<int> &v, int n) { if(k>n) { k=k%n; } int batdau = n - k, ketthuc = n - 1; vector<int> res = v; for(int i=n-1;i>=n-k;i--) { res.insert( res.begin() + 0, v[i]); } res.erase(res.begin() + (batdau + k), res.begin() + (ketthuc + k + 1)); return res; } void in(vector<int> v) { for(int x: v) cout << x << " "; } int main() { vector<int> v; int n;cin>>n; int k;cin >> k; for(int i=0;i<n;i++) { int tmp; cin>>tmp; v.pushback(tmp); } vector<int> res = dichphai_k(k, v, n); in(res);
    }


  • -3
    NTH11112222  đã bình luận lúc 1, Tháng 6, 2024, 2:35

    include<iostream>

    include<cmath>

    include<algorithm>

    include<vector>

    using namespace std; int a[1005]; void DichPhai(int a[], int n, int k) { while (k > 0) { int tmp = a[n - 1]; for (int i = n - 1; i > 0; --i) { a[i] = a[i - 1]; } a[0] = tmp; --k; } } int main() { int n,k; cin >> n >> k; if (k > n) { k -= n; } for (int i = 0; i < n; i++) { cin >> a[i]; } DichPhai(a, n, k); for (int i = 0; i < n; i++) { cout<< a[i] << " "; } //int t; cin >> t; //while (t--) { //} return 0; //cout << "Hello World!\n"; }.Tham khảo nha,chứ đừng copy


  • -4
    van_hao_638  đã bình luận lúc 2, Tháng 5, 2024, 16:02

    include <stdio.h>

    include <math.h>

    int main(){ int n,k; scanf("%d%d",&n,&k); int a[n+k]; if(k>n) k-=n; for(int i=0;i<n;i++) scanf("%d",&a[i]); for(int i=n-1;i>=0;i--){ a[i+k]=a[i]; } for(int i=0;i<k;i++){ // a[i]=a[n+i]; } for(int i=0;i<n;i++){ printf("%d ",a[i]); } }