```cpp
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
short int f[40000];
int jc[40000];
int p[40000];
int kt(int n)
{
int ans=0;
for(int i=1;i<=n;i++)
{
ans+=(p[f[i]]-1)*jc[n-i];
}
return ans+1;
}
int main()
{
int n,m;
jc[0]=1;
jc[1]=1;
for(int i=2;i<=9;i++)
jc[i]=jc[i-1]*i;
cin>>n;
f[1]=getchar();
for(int i=1;i<=n;i++)
f[i]=getchar();
for(int i=1;i<=n;i++)
{
for(int j=i;j<=n;j++)
{
if(f[i]>=f[j])
p[f[i]]++;
}
}
cout<<kt(n);
}
```
by djh123 @ 2018-02-10 15:14:23
好像输出的是对的,但可能short int 有点问题
by 角边边证全等 @ 2018-02-10 15:26:30
改了以后评测还是十分。。。
by djh123 @ 2018-02-10 19:47:02
" f[1]=getchar();"
--整型不能这样吧。(蒟蒻的猜测)
by hanker_AFO @ 2018-02-21 20:51:45
红名大佬,崇拜ing,但为何要用short int
by Teddy·Bear @ 2018-07-29 21:11:48
@[wish_a_dream](/space/show?uid=40972) f[1]读到了换行符,所以不行
by Renner @ 2018-10-28 11:27:19