藍橋杯 歷屆試題 分考場

2021-10-01 12:30:57 字數 915 閱讀 3567

問題描述

n個人參加某項特殊考試。

為了公平,要求任何兩個認識的人不能分在同乙個考場。

求是少需要分幾個考場才能滿足條件。

輸入格式

第一行,乙個整數n(1輸出格式

一行乙個整數,表示最少分幾個考場。

樣例輸入58

1 21 3

1 42 3

2 42 5

3 44 5

樣例輸出

樣例輸入510

1 21 3

1 41 5

2 32 4

2 53 4

3 54 5

樣例輸出

解題思路:

dfs深搜,詳情見**備註

**:

#include#include#include#include#include#include#include#include#includeusing namespace std;

int guanxi[110][110]; //人物關係

int kaochang[110][110]; //考場安排,第i號考場的第j個人

int n,ans;

void dfs(int x,int s) //當前已經安排了x-1人,已經用掉的考場數為s

//已經安排了n個人

int i,j;

for(i=1;i<=s;i++) //遍歷已經確定的所有考場

}kaochang[i][0]=x; //所有考場都不滿足,增加考場

dfs(x+1,s+1);

kaochang[i][0]=0; //回溯

}int main()

ans=n;

dfs(1,0);

printf("%d",ans);

return 0;

}

藍橋杯 歷屆試題 分考場

問題描述 n個人參加某項特殊考試。為了公平,要求任何兩個認識的人不能分在同乙個考場。求是少需要分幾個考場才能滿足條件。輸入格式 第一行,乙個整數n 1輸出格式 一行乙個整數,表示最少分幾個考場。樣例輸入5 8 1 2 1 3 1 4 2 3 2 4 2 5 3 4 4 5樣例輸出 4樣例輸入5 10...

藍橋杯 歷屆試題 分考場

問題描述 n個人參加某項特殊考試。為了公平,要求任何兩個認識的人不能分在同乙個考場。求是少需要分幾個考場才能滿足條件。輸入格式 第一行,乙個整數n 1思路 我的一開始的思路是貪心,保證目前是最優的,但是內心一直覺得很不合理所以就沒有去實現這個 後來我終於明白不對在哪了,貪心只能保證區域性最優,全域性...

藍橋杯 歷屆試題 分考場 DFS

時間限制 1.0s 記憶體限制 256.0mb n個人參加某項特殊考試。為了公平,要求任何兩個認識的人不能分在同乙個考場。求是少需要分幾個考場才能滿足條件。第一行,乙個整數n 1一行乙個整數,表示最少分幾個考場。5 81 2 1 31 4 2 32 4 2 53 4 4 55 101 2 1 31 ...