回文

思路:求组合后的字符串大小即可,每一个字符都是一个回文串

代码:

#include <bits/stdc++.h>
using namespace std;
string s;
long long huiwen(string a){
    long long n = a.size(), ans = 0;
    for(int i = 0; i < 2 * n - 1; i++){
        int left = i / 2, right = left + i % 2;
        while(left >= 0 && right < n && a   [left] == a[right]){
            ans++;
            left--;
            right++;
        }
    }
    return ans;
}   
int main(){
    int n,cnt=0;
    cin>>n;
    for (int i = 0; i < n; ++i) {
        cin >> s;
        cnt+=s.size();
    }
    cout<<cnt;
}

D. 转动命运之轮

思路:发现答案可以写成开心值之和y*x,x是一个与n相关的数,找规律:

  • n=1.2.3.4.5,则x=1,1 3,1 3 4,1 3 4 5等等

    代码:

    #include<bits/stdc++.h>
    using namespace std;
    #define  ll long long
    const int mod=998244353;
    ll n,h[2005];
    int main(){
    cin>>n;
    ll x=0;
    for (int i = 0; i <n ; ++i) {
        ll g;
        cin>>g;
        x+=g;
    }
    ll ans=0;
    ll y=1;
    for (int i = 0; i <n-1 ; ++i) {
        y=(y%mod)*((3+i))%mod;
    }
    ans=(x%mod)*(y%mod)%mod;
    cout<<ans;
    }
posted on 2023-02-19 20:01  IR101  阅读(46)  评论(0编辑  收藏  举报  来源