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:
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 N và K
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
include <bits//stdc++.h>
using namespace std; int main() { int n,k; cin >> n >> k; vector<int> a(n); for(int i=0;i<n;i++) cin >> a[i]; int pos = k%n; for(int i = n - pos;i<n;i++) cout << a[i] << " "; for(int i=0;i<n-pos;i++) cout << a[i] << " "; return 0; }
include <bits/stdc++.h>
define ll long long
using namespace std; ll a[10000007],b[10000007],d=0,n,d1=0,k; int main() { cin>>n>>k; for(ll i=1;i<=n;i++) { cin>>a[i]; } k%=n; for(ll i=n-k+1;i<=n;i++) { cout<<a[i]<<" "; } for(ll i=1;i<=n-k;i++) { cout<<a[i]<<" "; } return 0; } tham khao thoi nha mn
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);
}
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
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]); } }