比赛 |
Asm_Def战记之透明计算网络 |
评测结果 |
AWWWTTTTTT |
题目名称 |
Asm_Def排兵布阵 |
最终得分 |
10 |
用户昵称 |
TZJerry |
运行时间 |
6.001 s |
代码语言 |
C++ |
内存使用 |
1.46 MiB |
提交时间 |
2015-11-01 11:12:00 |
显示代码纯文本
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<iomanip>
using namespace std;
int n;
int sum,ans;
int a[100010];
int b[100010];
int c[100010];
bool check()
{
for(int i=1;i<n;i++)
{
if(c[i]>c[i+1])
{
return false;
}
}
return true;
}
void work(int q)
{
if(q==n)
{
if(check()==true) ans++;
return;
}
else
{
for(int i=1;i<=n;i++)
{
if(a[i]!=0)
{
a[i]=a[i]-1;
if(a[i]==0) c[i]=q+1;
b[q+1]=i;
work(q+1);
a[i]++;
b[q+1]=0;
}
}
}
}
int main()
{
freopen("asm_formation.in","r",stdin);
freopen("asm_formation.out","w",stdout);
cin>>n;
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
sum=sum+a[i];
}
work(0);
cout<<ans<<endl;
return 0;
}