Điểm:
100
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Cho một mảng \(n\) số nguyên. Kiểm tra xem mảng có đối xứng không. Mảng đối xứng là mảng khi viết theo chiều xuôi hay ngược lại đều được kết quả giống nhau.
Đầu vào: Dòng đầu tiên là số nguyên \(n\) \((1 \le n \le 10^6)\). Dòng thứ 2 là mảng \(n\) số nguyên, các số cách nhau bởi dấu cách, trị tuyệt đối của
các số này không quá \(10^{18}\).
Đầu ra: Nếu mảng đối xứng in ra “TRUE”, nếu không in ra “FALSE”.
Example
Test 1
Input
5
5 4 4 3 2
Output
FALSE
Test 2
Input
3
4 2 4
Output
TRUE
Bình luận
b1 nhập n,mảng của n;
b2 khai báo i=0,j=n-1(duyệt từ 2 đầu duyệt lại),khai báo biến đánh dấu ok=1;
b3 dùng vòng lập while(i<j) nếu a[i]!=a[j]{ok=2;break;} i++;j--;
b4 nếu ok==1 cout<<"TRUE";
ngược lại cout<<"FALSE";
code c++
include<bits/stdc++.h>
using namespace std;
int main(){
long long n,s=1,ok=1;
cin>>n;
long long a[n];
for(long long i=0;i<n;i++) cin>>a[i];
int i=0,j=n-1;
while(i<j){
if(a[i]!=a[j]){
ok=2;
break;
}
i++;j--;
}
if(ok==2) cout<<"FALSE";
else cout<<"TRUE";
}
Bài này tương tự như bài kiểm tra xâu đối xứng
Cách 1 : ta duyệt từ cuối lên đầu mảng a rồi gán giá trị đó cho mảng b
duyệt từ 1->n nếu a[i] != b[i] thì in ra false rồi return 0 luôn
nếu hết vòng for đó còn chạy thì in ra true
Cách 2 : dùng 2 con trỏ l = 1, r = n kiểm tra nếu a[l] != a[r] thì kết thúc luôn
điều kiện là while (l <= r) mỗi bước nhãy l++ và r--
Cách 3 : duyệt từ 1 -> n/2 kiểm tra nếu a[i] != a[n-i+1] thì kết thúc ngược lại thì là true
Code :
include<bits/stdc++.h>
define ll long long
using namespace std;
ll n, a[1000003];
int main() {
cin>>n;
for (int i = 1; i <= n; i++) cin>>a[i];
for (int i = 1; i <= n/2; i++) {
if (a[i] != a[n-i+1]) {
cout<<"FALSE";
return 0;
}
}
cout<<"TRUE";
}
include <bits/stdc++.h>
using namespace std;
int main(){
long long int n;
cin >> n;
long long int a[n];
for(int i=0; i<n; i++) { cin >> a[i];
}
bool kt=true;
for(int i=0;i<n/2;i++){
if(a[i]!=a[n-i-1]){
kt=false;
break;
}
}
kt==true ? cout <<"TRUE" : cout <<"FALSE";
return 0;
}
AC nha
dùng list thì đc 80/100 còn dùng input() thì đc 90/100 =)). Khó AC qá =))
yêu cầu cho cái test số bé bé lại một tí khoảng dưới 300 000 hoặc dưới 400 000 chứ test mạnh quá cứ MLE hoài hoặc tăng bộ nhớ lên 70 đến 80 mb được ko ạ
Hi các bạn!
Có thể tăng giới hạn bộ nhớ lên tầm 70mb không ạ :") test case 2 của em bị MLE do dùng 64.3-65mb bộ nhớ :")
Tăng bộ nhớ lên chút được không minhkhangcqt ?
khoảng 70 Mb thôi
=))
bài ni test yếu