比赛 EYOI暨SBOI暑假快乐赛4th 评测结果 AAAEEETTTT
题目名称 往广大的天空 最终得分 30
用户昵称 ┭┮﹏┭┮ 运行时间 5.183 s
代码语言 C++ 内存使用 4.59 MiB
提交时间 2022-06-28 10:47:42
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
int n,m;
int ss[20],a[20][20],v[20],xx[20],yy[20];
bool f[20];
void py(int x){
    if(v[x])return;
    v[x] = 1;
    for(int i = 1;i <= n;i++){
        if(a[x][i] == 2){
            if(v[i] != 1 && f[i] == 0){
               ss[i]++; f[i] = 1;
            }
            py(i);
        }
    }
    v[x] = 0;
}
void sou(int y){
    if(y == m+1){
        memset(f,0,sizeof(f));
//        for(int i = 1;i <= m;i++){
//            for(int j = 1;j <= m;j++){
//                cout<<a[i][j]<<' ';
//            }
//            cout<<endl;
//        }
        py(1);
//        for(int i = 1;i <= n;i++){
//            cout<<ss[i]<<' '<<endl;
//        }
//        cout<<endl;
        return; 
    }
    sou(y+1);
    a[xx[y]][yy[y]] = 2;
    a[yy[y]][xx[y]] = 2;
    sou(y+1);
    a[xx[y]][yy[y]] = 1;
    a[yy[y]][xx[y]] = 1;
}
int main(){
    freopen("stasis.in","r",stdin);
    freopen("stasis.out","w",stdout);
    cin>>n>>m;
    for(int i = 1;i <= m;i++){
        cin>>xx[i]>>yy[i];
        a[xx[i]][yy[i]] = 1;
        a[yy[i]][xx[i]] = 1;
    }
    sou(1);
    for(int i = 2;i <= n;i++){
        cout<<ss[i]<<endl;
    }
        
    return 0;
}
// 8 14 1 7 5 12 6 13