- 分享
对称性检验(求解)
- 2024-11-24 13:22:05 @
Description
给出一个数列,判断这个数列是否左右对称。
例如:给出四个数2 5 5 2,则这个数列对称;
给出五个数 1 2 3 1 2,则这个数列不对称。
Format
第一行:一个正整数 n(n<500)n(n<500),表示数据个数; 第二行: n 个不超过1000的正整数,依次表示数列中的每个数
Output
如果对称,输出Yes;否则输出No。
输入样例1
5
4 5 6 5 4
输出样例1
Yes
输入样例2
4
2 2 3 3
输出样例1
No
————————————————————————————————————— 对称性检验(求解)
0Wrong Answer
————————————————————————————————————
#include<iostream>
using namespace std;
long long cnt[1010],n=0;
int main() {
long long s;
cin>>s;
int y=0;
for(int i=1;i<=s;i++){
cin>>cnt[i];
}
for(int i=1;i<=s;i++){
if(i%2==1&&i>=s-i){
break;
}
if(cnt[i]==cnt[s-y]){
n++;
}
y++;
}
if(s==(n-1)*2+1)cout<<"Yes";
else cout<<"No";
return 0;
}
1 条评论
-
王梓任 @ 2024-11-24 13:33:56已修改
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 错了
#include<iostream> using namespace std; long long cnt[1010],n=0; int main() { long long s; cin>>s; int y=0; for(int i=1;i<=s;i++){ cin>>cnt[i]; } for(int i=1;i<=s;i++){ if(i%2==1&&i>=s-i){ break; } if(cnt[i]==cnt[s-y]){ n++; } y++; } if(s==(n-1)*2+1)cout<<"Yes"; else cout<<"No"; return 0; }
- 1