比赛 |
2024暑期C班集训4 |
评测结果 |
AWEEEEEEEE |
题目名称 |
勇者 |
最终得分 |
10 |
用户昵称 |
Untitled |
运行时间 |
1.381 s |
代码语言 |
C++ |
内存使用 |
4.88 MiB |
提交时间 |
2024-07-04 10:46:10 |
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
int n,m,res;
int f[310][310],fr;
bool d[310];
bool judge(int x){
d[x]=1;fr--;
if (!fr) return 1;
for (int i=1;1<=n;i++){
if (d[i] || x==i || !f[x][i]) continue;
if (judge(i)) return 1;
}
return 0;
}
void dfs(int x,int k){
if (!k){
memset(d,0,sizeof(d));
fr=n;
for (int i=1;i<=n;i++){
if (!judge(i)) return;
}
res++;
if (res>1e9+7) res-=1e9+7;
return;
}
printf("%d %d\n",x,k);
for (int i=1;i<=n;i++){
if (i==x) continue;
else{
printf("%d\n",i);
f[x][i]++;
dfs(i,k-1);
f[x][i]--;
}
}
return;
}
int main(){
freopen("rotk.in","r",stdin);
freopen("rotk.out","w",stdout);
scanf("%d %d",&n,&m);
if (m<n){
printf("0");
return 0;
}
if (n==1){
printf("1");
return 0;
}
if (m==n){
printf("2");
return 0;
}
dfs(1,m);
printf("%d",res);
return 0;
}