社区讨论

求助n<=18悬2关

P14364[CSP-S 2025] 员工招聘参与者 3已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@mhz48rn5
此快照首次捕获于
2025/11/15 01:12
3 个月前
此快照最后确认于
2025/11/16 13:46
3 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
const int MOD=998244353;
int n,m;
string s;
int c[15];
int a[15];
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cin>>n>>m;
    if(n>10)
    {
        return 0;
    }
    cin>>s;
    s=' '+s;
    for(int i=1;i<=n;i++)
    {
        cin>>c[i];
        a[i]=i;
    }
    int ans=0;
    do
    {
        // for(int i=1;i<=n;i++)
        // {
        //     cout<<a[i];
        // }
        // cout<<'\n';
        int cnt=0,sum=0;
        for(int i=1;i<=n;i++)
        {
        	if(cnt>=c[a[i]])
        	{
        		cnt++;
			}
            else if(s[a[i]]=='1')
            {
                sum++;
            }
            else
            {
                cnt++;
            }
        }
        if(sum>=m)
        {
            ans++;
            ans%=MOD;
            // for(int i=1;i<=n;i++)
            // {
            //     cout<<a[i]<<' ';
            // }
            // cout<<'\n';
        }
    }while(next_permutation(a+1,a+1+n));    
    cout<<ans;
    return 0;
}

回复

4 条回复,欢迎继续交流。

正在加载回复...