洛谷 P1657 選書

2022-04-07 05:01:47 字數 960 閱讀 9701

學校放寒假時,資訊學奧賽輔導老師有1,2,3……x本書,要分給參加培訓的x個人,每人只能選一本書,但是每人有兩本喜歡的書。老師事先讓每個人將自己喜歡的書填寫在一張表上。然後根據他們填寫的表來分配書本,希望設計乙個程式幫助老師求出所有可能的分配方案,使每個學生都滿意。

輸入格式:

第1行:乙個數x

第2行~第1+x行:每行兩個數,表示ai喜歡的書的序號

輸出格式:

只有乙個數:總方案數total。

輸入樣例#1: 複製

5

1 34 5

2 51 4

3 5

輸出樣例#1: 複製

2

所有資料:x<=20

(世界上最難出資料的題目,沒有之一……)

思路:搜尋

#include#include

#include

#include

using

namespace

std;

intn,ans;

int a[21],b[21],vis[21

];void dfs(int

tot)

if(vis[a[tot+1]]&&vis[b[tot+1]]) return

;

if(!vis[a[tot+1]]) vis[a[tot+1]]=1,dfs(tot+1),vis[a[tot+1]]=0

;

if(!vis[b[tot+1]]) vis[b[tot+1]]=1,dfs(tot+1),vis[b[tot+1]]=0;}

intmain()

for(int i=1;i<=n;i++)

scanf(

"%d%d

",&a[i],&b[i]);

dfs(0);

cout

<}

洛谷 P1657 選書 dfs

時間限制 1.00s 記憶體限制 125.00mb 學校放寒假時,資訊學奧賽輔導老師有1,2,3 x本書,要分給參加培訓的x個人,每人只能選一本書,但是每人有兩本喜歡的書。老師事先讓每個人將自己喜歡的書填寫在一張表上。然後根據他們填寫的表來分配書本,希望設計乙個程式幫助老師求出所有可能的分配方案,使...

P1657 選書洛谷c 題解

如果你覺得這篇文章對你有幫助的話,請點點大拇指哦 題目描述 學校放寒假時,資訊學奧賽輔導老師有1,2,3 x本書,要分給參加培訓的x個人,每人只能選一本書,但是每人有兩本喜歡的書。老師事先讓每個人將自己喜歡的書填寫在一張表上。然後根據他們填寫的表來分配書本,希望設計乙個程式幫助老師求出所有可能的分配...

洛谷P1036 選數

已知 n 個整數 x1,x2,xn,以及乙個整數 k k n 從 n 個整數中任選 k 個整數相加,可分別得到一系列的和。例如當 n 4,k 3,4 個整數分別為 3,7,12,19 時,可得全部的組合與它們的和為 3 7 12 22 3 7 19 29 7 12 19 38 3 12 19 34。...