2020 10 03 PTA 天梯賽練習題題解

2021-10-09 23:26:34 字數 1455 閱讀 4194

7-12 分而治之

作者 陳越 單位 浙江大學 **長度限制 16kb 時間限制 200 ms 記憶體限制 64 mb

通過二維陣列儲存兩人之間的關係,由於兩人之間的關係是唯一的,所以可以看做是 雙向邊

純列舉做法不管怎麼改都過不去,而最好的情況也會有全聯通的測試點無法通過,因此判斷是後能滿足條件

因此,上網查詢了一下並查集做法

未得分點:最大n,全連通環,全查詢

acwing並查集 模板題

find(x) 是找會祖宗節點, p[x] 陣列存放的是父節點

#include

#include

#include

using

namespace std;

const

int maxn =

111;

int p[maxn]

;int

find

(int x)

//把能夠成為好友的全部合併到乙個根上

void

merge

(int x,

int y)

}int gx[maxn]

[maxn]

;int

main()

for(

int qu =

1; qu <= k;

++qu)

else

}}

我們希望首先攻下敵方的部分城市,使其剩餘的城市變成孤立無援,然後再分頭各個擊破。為此參謀部提供了若干打擊方案。本題就請你編寫程式,判斷每個方案的可行性。

#include

#include

#include

#include

using

namespace std;

const

int maxn =

1e5+

1111

;const

int n =

111;

int vis[maxn]

;vector<

int> v[maxn]

;// 鏈結表

void

init1()

intmain()

int k; cin >> k;

// k種方案,使其剩餘的城市變成孤立無援

for(

int sk =

1; sk <= k;

++sk)

for(

int i =

0; i < n; i++)}

}(flag)

?puts

("yes"):

puts

("no");

}}

2020 10 03天梯賽練習 1

7 9 排座位 布置宴席最微妙的事情,就是給前來參宴的各位賓客安排座位。無論如何,總不能把兩個死對頭排到同一張宴會桌旁!這個艱鉅任務現在就交給你,對任何一對客人,請編寫程式告訴主人他們是否能被安排同席。輸入第一行給出3個正整數 n 100 即前來參宴的賓客總人數,則這些人從1到n編號 m為已知兩兩賓...

天梯賽座位分配PTA

天梯賽每年有大量參賽隊員,要保證同一所學校的所有隊員都不能相鄰,分配座位就成為一件比較麻煩的事情。為此我們制定如下策略 假設某賽場有 n 所學校參賽,第 i 所學校有 m i 支隊伍,每隊 10 位參賽選手。令每校選手排成一列縱隊,第 i 1 隊的選手排在第 i 隊選手之後。從第 1 所學校開始,各...

PTA 天梯賽座位分配 天梯賽真題集

題目要求 天梯賽每年有大量參賽隊員,要保證同一所學校的所有隊員都不能相鄰,分配座位就成為一件比較麻煩的事情。為此我們制定如下策略 假設某賽場有 n 所學校參賽,第 i 所學校有 m i 支隊伍,每隊 10 位參賽選手。令每校選手排成一列縱隊,第 i 1 隊的選手排在第 i 隊選手之後。從第 1 所學...