有没有人能帮我一下
2026-08-19 15:48:17
发布于:河南
18阅读
0回复
0点赞
有没有人能帮我一下,我代码最后一个样例TLE了
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int ans=0;
for(int i=1;i<=n;i++){
int x=i,j=1;
vector<int>a(x/2+10);
while(x){
a[j]=x%2;
x/=2;
j++;
}
bool flag=true;
for(int i=1;i<=j/2;i++){
if(a[i]!=a[j-i]) flag=false;
}
ans+=flag;
}
printf("%d",ans);
return 0;
}
全部评论 2
#include<bits/stdc++.h> using namespace std; bool f(int x){ string s1=""; while(x>0){ s1+=x%2+'0'; x/=2; } string s2=s1; reverse(s2.begin(),s2.end()); return s1==s2; } int main(){ int n; cin>>n; int cnt=0; for(int i=1;i<=n;i++){ if(f(i)==1){ cnt++; } } cout<<cnt; return 0; }7小时前 来自 福建
0把题目发一下,不然不知道数据
8小时前 来自 广东
0A106098.[GESP202603 三级]二进制回文串
8小时前 来自 河南
0OK
7小时前 来自 广东
0你的vector数组开太多次了
7小时前 来自 广东
0















有帮助,赞一个