记录编号 202577 评测结果 WWWTTTTTTE
题目名称 [SYOI 2015] Asm_Def排兵布阵 最终得分 0
用户昵称 Gravatarcoo 是否通过 未通过
代码语言 C++ 运行时间 6.251 s
提交时间 2015-11-01 14:44:26 内存使用 4.13 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<cstring>
#include<string>
#include<cmath>
#include<vector>
using namespace std;
const long long pi=998244353;
int m,k,l,sum;
int w[500008],a[500002];
void swap(int *a, int *b) 
{     
    int m;     
    m =*a;     
    *a =*b;     
    *b = m; 
}  
int perm(int list[], int k, int m) 
{     
    int i;
	long long n=0;     
    if(k > m)     
    {        
        n++;     
        return n%pi;
    }     
    else     
    {         
        for(i = k; i <= m; i++)         
        {             
            swap(&list[k], &list[i]);             
            perm(list, k + 1, m);             
            swap(&list[k], &list[i]);         
        }     
    } 
} 
int main()
{
	freopen("asm_formation.in","r",stdin);
	freopen("asm_formation.out","w",stdout);
	cin>>k;
	for(int i=1;i<=k;i++)
	{
	   cin>>a[i];
	   if(i!=1)a[i]-=1;
	}
	int tot =0;
	for(int i=1;i<=k;i++)
	while(a[i]>0){w[tot]=i;tot++;a[i]--;}
     sum=perm(a,0,tot-1);
     cout<<sum<<endl;
     return 0;
}