[Mảng 1 Chiều Cơ Bản]. Bài 21. Chèn mảng
View as PDF
Submit solution
Points:
1.00 (partial)
Time limit:
1.0s
Memory limit:
256M
Input:
stdin
Output:
stdout
Author:
Problem source:
Problem type
Allowed languages
C, C#, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Cho mảng số nguyên A[] gồm N phần tử, nhiệm vụ của bạn là chèn phần tử X vào vị trí K trong mảng sau đó in ra mảng. Lưu ý K bắt đầu từ 1
Tham khảo về thuật toán chèn : Chèn phần tử vào mảng
Đầu vào
Dòng đầu tiên là 3 số nguyên dương N, X, K
Dòng thứ 2 gồm N số nguyên viết cách nhau một vài khoảng trắng
Giới hạn
1<=K<=N<=1000
-10^3<=A[i], X<=10^3
Đầu ra
In ra mảng sau khi chèn
Ví dụ :
Input 01
10 28 5
1 2 3 4 5 6 7 8 9 10
Output 01
1 2 3 4 28 5 6 7 8 9 10
Comments
FULL AC:
include <bits/stdc++.h>
define ll long long
define fi first
define se second
define pa pair<int,int>
define vec vector<int>
define el cout<<'\n'
define fast iosbase::syncwith_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;
void doc(){ fast freopen("test.inp", "r", stdin); freopen("test.out", "w", stdout); }
int n,x,k; int a[1001];
int main(){ //doc(); cin>>n>>x>>k; for(int i=1; i<=n; i++) cin>>a[i]; for(int i=1; i<=n; i++){ if(i == k) cout<<x<<" "; cout<<a[i]<<" "; } return 0; }
include <iostream>
include <iomanip>
include <math.h >
include <climits>
using namespace std; long long a[10000005]; int main() { int n, x, k; cin >> n >> x >> k; for (int i = 0; i < n; i++) { cin >> a[i]; } for (int i = n - 1; i >= k; i--) { a[i + 1] = a[i]; } a[k] = x; ++n;
} mọi người xem giúp e với ạaa em nộp miết mã cứ báo sai ạa
À bạn bị sai chỗ chỉ số đó. Đề yêu cầu K tính từ 1, nhưng trong code bạn lại xử lý mảng từ chỉ số 0.
Cụ thể: Khi bạn for (int i = n - 1; i >= k; i--) thì đang dời sai vị trí.
Với K = 5 (tức là muốn chèn vào vị trí số 5 – tính từ 1), thì thực ra cần dời từ vị trí k-1 trở đi.
Fix nhẹ bằng cách:
for (int i = n - 1; i >= k - 1; i--) { a[i + 1] = a[i]; } a[k - 1] = x;
Ngoài ra: Bạn ++n; rồi duyệt i < n là đúng – nhưng khi in ra cũng cần in từ 0 -> n-1, không được lệch.
Không cần dùng mảng long long a[1e7] làm gì cho nặng RAM đề chỉ cần mảng a[1005] là đủ.
Đảm bảo dấu cách đúng chuẩn và không bị in thừa ở cuối dòng nữa là AC thôi.
bài trong contest và bài trong vid chữa python là hai bài khác nhau
Mọi người giúp e với ạ. E không biết sao sai hết khi nộp ạ:))
include <bits/stdc++.h>
using namespace std;
define ll long long
const int MOD = 1e9 + 7;
int a[1000006];
int main() { iosbase::syncwith_stdio(0); cin.tie(NULL);
}
mọi người ơi, đừng gửi code vào đây nữa, bài này có gợi ý rồi thì nên để mọi người tự suy nghĩ thì hơn (~ ̄▽ ̄)~💻
This comment is hidden due to too much negative feedback. Show it anyway.
This comment is hidden due to too much negative feedback. Show it anyway.
This comment is hidden due to too much negative feedback. Show it anyway.