比赛 EYOI与SBOI开学欢乐赛3rd 评测结果 AAATTTTTTT
题目名称 GodFly的寻宝之旅 最终得分 30
用户昵称 Skloud 运行时间 21.000 s
代码语言 C++ 内存使用 4.55 MiB
提交时间 2022-09-05 21:50:13
显示代码纯文本
#include<cstdio>
#include<iostream>
using namespace std;
int n,k,x,y,_;
int head[20],ne[100010],v[100010],tot;
int done[20];
int hua,dui,f;
int add(int a,int b)
{
    v[++tot]=b;
    ne[tot]=head[a];
    head[a]=tot;
}
void dfs(int a,int w,int va)  
{
    if(done[a]) return;
    done[a]=1;
    if(a==n)
    {
        if((w+a*va)%2==1) dui=(dui+1)%19260817;
        else hua=(hua+1)%19260817;
        return;
    }
    for(int p=head[a];p;p=ne[p])
    {
        if(done[v[p]]) continue;
        dfs(v[p],(w+a*va)%2,va+a);    
        done[v[p]]=0;
    }     
    return;
}
int main()
{
    freopen("GodFly.in","r",stdin);
    freopen("GodFly.out","w",stdout);
    scanf("%d%d",&n,&k);
    for(int i=1;i<=k;i++)
    {
        scanf("%d%d",&x,&y);
        add(x,y);
        add(y,x);
    }
    dfs(1,0,0);
    scanf("%d",&_);
    if(_) printf("%d\n",dui);
    else printf("%d\n",hua);
    return 0;
}