| 比赛 |
期末考试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;
}