解题思路:遍历所有区间可能,如果起点和终点相同,那么就各自向中间移动一位,直到第一位不同。然后比较这一位,前大后小则ans++
注意事项:
参考代码:
#include <bits/stdc++.h> #define int long long #define pii pair<int,int> #define fi first #define se second #define endl "\n" #define pb push_back #define getl(s) getline(cin,s) #define max(a,b) a > b ? a : b #define min(a,b) a < b ? a : b #define abs(a) a > 0 ? a : -a #define lowbit(a) a & -a using namespace std; int n,res = 0; string s; signed main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin>>s;n = s.size(); for(int len = 2;len <= n;len++) for(int i = 0;i <= n - len;i++) { int l = i,r = l + len - 1; while(s[l] == s[r] && l <= r)l++,r--; if(l < r && s[l] > s[r])res++; } cout<<res; return 0; }
0.0分
5 人评分
A+B for Input-Output Practice (C语言代码)浏览:505 |
1134题解(求分析)浏览:795 |
筛排处理 (C语言代码)浏览:830 |
1162答案错误,为什么浏览:700 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:490 |
1250题解浏览:603 |
陶陶摘苹果2 (C++代码)浏览:578 |
Manchester- A+B for Input-Output Practice (VI)浏览:2068 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)(标记法)浏览:709 |
C语言程序设计教程(第三版)课后习题3.7 (C++代码)浏览:667 |