洛谷 P1657 选书

AcCode:

#include<iostream>
using namespace std;
struct like{
    int a, b;
};
like l[25];
int N, ans;
bool st[25];
int dfs(int idx){
    if(idx > N) return 1;
    int res = 0;
    if(!st[l[idx].a]){
        st[l[idx].a] = true;
        res += dfs(idx + 1);
        st[l[idx].a] = false;
    }
    if(!st[l[idx].b]){
        st[l[idx].b] = true;
        res += dfs(idx + 1);
        st[l[idx].b] = false;
    }
    return res;
}
int main(){
    cin >> N;
    for(int i = 1; i <= N; i++){
        int a, b;
        cin >> a >> b;
        l[i].a = a, l[i].b = b;
    }
    cout << dfs(1);
    return 0;
}
posted @ 2025-06-26 02:23  Yuhhhhh  阅读(8)  评论(0)    收藏  举报