刚搞定素数,现在回文数也来虐我了
  • 板块灌水区
  • 楼主Davidben
  • 当前回复25
  • 已保存回复25
  • 发布时间2021/10/8 19:53
  • 上次更新2023/11/4 04:20:02
查看原帖
刚搞定素数,现在回文数也来虐我了
484468
Davidben楼主2021/10/8 19:53
【题目描述】

回文数是指数位上的数字顺序读和逆序读都一样。有一串N个数字的回文数,现在有一位数字被修改成另一个数字,请输出新的数字串中最长的回文数,如果长度相等的有多串,请输出第一次出现的。

【输入格式】

第1行,1个整数N,范围在[1…1000]。

第2行,N个数字,每个数字用空格分开。

【输出格式】

一行,剩余的回文数。

【输入样例1】

5

1 2 3 2 2

【输出样例1】

2 3 2

 

【输入样例2】

8

4 3 2 6 6 2 0 4

【输出样例2】

2 6 6 2


【输入样例3】

10

11 10 10 11 5 23 11 10 10 11

【输出样例3】

11 10 10 11


一看题目,哇,这题好水啊,这不是有手就行吗?

#include<bits/stdc++.h>
using namespace std;
const int qwq = 1e6 +10;
long long a[qwq];
long long cnt;
int main(){
    long long n;
    cin>>n;
    for(int i = 1;i <= n;i++){
        cin>>a[i];
    }
    long long l = 1,r = n;
    long long cnt = 0;
    while(l <= r){
        if(a[l] != a[r]){
            cnt += l;
        }
        l++,r--;
    }
    if(cnt >= n/2 && n % 2 != 0){
        for(int i = 1;i <= cnt-1;i++){
            cout<<a[i]<<" ";
        }
    }else{
        for(int i = 1;i <= cnt;i++){
            cout<<a[i]<<" ";
        }
    }
    for(int k = 1+cnt;k <= n-cnt;k++){
        cout<<a[k]<<" ";
    }
    return 0;
}

看看这不是一个很正常的代码吗; 结果答案错误40分

仔细看看输入数据
2
4 2


我吐了啊,上面那个只是其中之一

这就把我整不会了

2021/10/8 19:53
加载中...