[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:
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
Các bạn xem hộ mình vs:>
include<bits/stdc++.h>
using namespace std;
define ll long long
ll a[1123456],b[1123456],c[1123456],d1,d2,s,maxx=LLONGMIN,minn=LLONGMAX,maxx2=LLONGMIN,x,k,n,m; ll mark[1123456]; int main() { iosbase::syncwithstdio(false); cin.tie(nullptr); 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; } k%=n; là để cho trường hợp k>n nhé mn
Code example
include <bits/stdc++.h>
using namespace std;
void reverse(vector<int> &a, int l, int r) { while (l < r) { swap(a[l], a[r]); l++; r--; } }
int main() { int n, k; cin >> n >> k; vector<int> a(n); for (int i = 0; i < n; i++) cin >> a[i];
}
FULL AC
cái này là cout thôi có dịch mảng gì đâu :V
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);
}
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.