自己测试点没啥问题(至少第一个)结果全是WA(
查看原帖
自己测试点没啥问题(至少第一个)结果全是WA(
449101
Assmaker楼主2021/9/17 16:33
#include<bits/stdc++.h>
using namespace std;  

int Arrangenumber(int x){
    if(x==1) return 1;
    if(x==0) return 1; 
    else return x*Arrangenumber(x-1);
} 

int main(){
    int n;
    cin>>n;
    getchar();
    int x[n];
    for(int i=0;i<n;i++){
        char m=getchar();
        x[i]=(int) m-'0';
    }
    int sum=Arrangenumber(n)/n*(x[0]-1)+1;
    for(int i=1;i<n;i++){
        int s=0;
        for(int j=0;j<i;j++){
            if(x[i]>x[j]) s++;
        }
        sum+=Arrangenumber(n-i)/(n-i)*(x[i]-1-s);
    }
    cout<<sum<<endl;
}
2021/9/17 16:33
加载中...