灌水区人少,求助!
  • 板块学术版
  • 楼主AnOIer
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/9/13 22:47
  • 上次更新2023/11/2 21:00:11
查看原帖
灌水区人少,求助!
1036897
AnOIer楼主2023/9/13 22:47

题目

本蒟蒻丑陋的代码:

#include<bits/stdc++.h>
using namespace std;
bool asd(string a){//回文数函数 
	for(int i=0;i<a.size();i++){
		if(a[i]!=a[a.size()-1-i]){
			return 0;
		}
	}
	return 1;
}
int main(){
	string a,ma;
	int n,msi,f=1;//msi=max size 
	bool flag;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a;
		if(asd(a)){
			flag=true;//是否判断某位 
			if(f==1) ma=a;//把第一个回文数存到ma里,后面比较 
			if(f==1) msi=a.size();//把第一个回文数的位数存到ma里,后面比较 
			if(a.size()>msi){ 
				msi=a.size();
				ma=a;
				flag=false;//不用判断某位,因为回文数的位数比需要判断的那个多 
			}
			if(a.size()<msi){
				flag=false;//不用判断某位,因为回文数的位数比需要判断的那个少 
			}
			for(int i=0;i<a.size();i++){
				if(a[i]>ma[i]&&(flag==true)) {
					ma=a;//一位位地比较 
				}
			}
			f=2;
		}
	}
	cout<<ma;//输出最大的回文数 
	return 0;
}


为什么只拿了20分,哪错了?望dalao解答,悬棺

2023/9/13 22:47
加载中...