比赛 Asm_Def战记之透明计算网络 评测结果 AAAATTTTTT
题目名称 Asm_Def排兵布阵 最终得分 40
用户昵称 asddddd 运行时间 6.022 s
代码语言 C++ 内存使用 2.61 MiB
提交时间 2015-11-01 11:41:30
显示代码纯文本
//
//  main.cpp
//  zhaoguil
//
//  Created by apple on 15/11/1.
//  Copyright (c) 2015年 刘泽群. All rights reserved.
//

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#define mod 998244353
#define maxn 100100
using namespace std;
int k[maxn],vs[5*maxn];
int fps;
int n;
int ans;
void DFS(int pos){
    if (pos==fps) {
        ans++;
       
    }
    for (int i=0; i<n; i++) {
        if (k[i]>0) {
        bool psk=1;
        if (k[i]==1) {
            if (i!=0) {
                for (int j=0; j<i; j++) {
                    if (k[j]!=0) {
                        psk=0;
                    }
                }
            }
        }
        if (psk) {
            k[i]-=1;
            vs[pos]=i;
            DFS(pos+1);
            k[i]+=1;
        }
    }
    }
}
int main() {
    freopen("asm_formation.in", "r", stdin);
    freopen("asm_formation.out", "w", stdout);
    cin>>n;
    for (int i=0; i<n; i++) {
        cin>>k[i];
        fps+=k[i];
    }
    DFS(0);
    cout<<ans;
}