1 条题解

  • 0
    @ 2021-11-07 16:47:51

    #include<iostream>
    using namespace std;
    const int N=101;
    int n,m,ans=0;
    int a[N],b[N],choose[N][N];
    void search(int x,int y)
    {
    if(x==n+1)
    {
    if(ans<y)
    {
    ans=y;
    for(int i=1;i<=n;i++)
    {
    b[i]=a[i];
    }
    }
    return ;
    }
    for(int i=1;i<x;i++)
    {
    if(choose[x][i]==1&&choose[i][x]==1&&a[i])
    {
    search(x+1,y);
    return;
    }
    }
    a[x]=1;
    search(x+1,y+1);
    a[x]=0;
    search(x+1,y);
    }
    int main()
    {
    cin>>n>>m;
    for(int i=1;i<=m;i++)
    {
    int x,y;
    cin>>x>>y;
    choose[x][y]=1;
    choose[y][x]=1;
    }
    search(1,0);
    cout<<ans<<endl;
    for(int i=1;i<=n;i++)
    {
    cout<<b[i]<<' ';
    }
    return 0;
    }

  • 1

信息

难度
7
分类
(无)
标签
递交数
86
已通过
16
通过率
19%
上传者