| 比赛 | 
    CSP2023-S模拟赛 | 
    评测结果 | 
    AAATTTTTTTTTTTTTTTTT | 
    | 题目名称 | 
    Maximized Combos | 
    最终得分 | 
    15 | 
    | 用户昵称 | 
    宇战 | 
    运行时间 | 
    17.012 s  | 
    | 代码语言 | 
    C++ | 
    内存使用 | 
    4.88 MiB  | 
    | 提交时间 | 
    2023-10-17 21:53:45 | 
显示代码纯文本
#include<bits/stdc++.h>
    using namespace std;
    const int N=998244353;
    int n,m,tot,top;
    
    int main(){
        freopen("combos.in","r",stdin);
        freopen("combos.out","w",stdout);
          cin>>n>>m;
          int k=1;
          for(int i=1;i<=n;i++){
              k*=2;
          }
          int s=0,ans=0;
          for(int o=1;o<=m;o++){
          int p=0;
          for(int i=1;i<=k;i++){
             s=0,ans=0;
             int pp=0;
             for(int j=i;j;j>>=1){
                 if(j&1){
                     pp++;
                 }
             }
             if(pp!=m)continue;
             for(int j=i;j;j>>=1){
                 if(j&1){
                 s++;
                     if(j>>1==0){
                         ans=max(ans,s);
                     }
                 }else{
                     ans=max(ans,s);
                     s=0;
                 }
             }
             if(ans==o){
                 p++;
             }
          }
          cout<<p%N<<endl;
          }
    }