比赛 期末考试2 评测结果 TTTTTTTTTT
题目名称 数图 最终得分 0
用户昵称 zcx 运行时间 51.006 s
代码语言 C++ 内存使用 3.33 MiB
提交时间 2026-02-10 11:21:43
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int const N=502;
int const mod=1e9+7;
typedef long long ll;
int n,sum=0;
ll cnt=0;
int in[N];
void dfs(int num){
    if(num==n+1){
        if(sum==n) cnt++;
        return; 
    }
    for(int i=1;i<=n;i++){
        if(i==num || in[i]>=2) continue;
        if(++in[i]==2) sum++;
        for(int j=i+1;j<=n;j++){
            if(j==num || j==i || in[j]>=2) continue;
            if(++in[j]==2) sum++;
            dfs(num+1);
            if(--in[j]) sum--;
        }
        if(--in[i]) sum--; 
        
    }
}
int main()
{
    freopen("grafy.in","r",stdin);
    freopen("grafy.out","w",stdout);
    cin>>n;
    in[2]++,in[3]++;
    dfs(2);
    cout<<cnt%mod*(n-1)*(n-2)/2%mod;
    return 0;
}