pta 7-10 排座位
這道題中,因為朋友關係是可以傳遞的,所以我們用並查集來儲存朋友關係。敵對關係不可傳遞,所以我們用乙個鄰接表儲存敵對關係。再根據題目要求進行輸出
#include
#include
#include
#include
using namespace std;
int pre[
1010];
int map[
1010][
1010];
//並查集模板
int find
(int x)
void
merge
(int x,int y)
int main()
for(int i=
1;i<=k;i++
)return0;
}
pta 7-4 帥到沒朋友
我們用乙個vis陣列作為標記陣列,當朋友圈人數大於1時,我們將輸入的數標記,如果朋友圈人數等於1說明朋友圈只有自己一人,我們不做標記
#include
#include
#include
#include
using namespace std;
const int n
=100100
;int vis[n]
;//標記陣列
int main()
}else
//朋友圈只有自己一人或者沒有朋友圈
cin>>num;
} int sum =0;
cin>>m;
for(int i=
1; i<=m; i++)}
if(!sum)
cout<<
"no one is handsome"
}
pta 7-11 玩轉二叉樹
#include
#include
#include
#include
using namespace std;
int str1[30]
,str2[30]
;struct node
;struct node *
creat
(int n,int *str1,int *str2)
root -
> l =
creat
(i,str1+
1,str2)
; root -
> r =
creat
(n-i-
1,str1+i+
1,str2+i+1)
;return root;};
void
swap
(struct node *root)
}else
return
;swap
(root-
>l)
;swap
(root-
>r);}
void
ans(struct node *root)
i++;}
}}int main()
天梯賽賽前模擬賽補題 2020
一 暢通工程之最低成本建設問題 這道題是用最小生成樹做的,之前最小生成樹練的很少,比賽時沒寫出來,也沒考慮用最小生成樹,還是練得少。這個題可以用kruskal演算法做,先將每條路的花費從小到大排序,然後再從頭開始加每條邊花費的 從頭開始用並查集判斷兩個點的根節點是否相同,如果相同說明出現了環,就co...
新生賽補題
題目大意 構造乙個長度為n的嚴格遞增序列,每個數都屬於 1,m 求方案數,結果模998244353。dp的轉移方程 第一位數 i 代表的是遍歷到第幾個數了,j代表的是當前位是幾。dp i j dp i 1 j dp i j 1 ac include using namespace std const...
csp模擬補題
咕咕東是個貪玩的孩子,有一天,他從上古遺跡中得到了乙個神奇的圓環。這個圓環由字母表組成首尾相接的環,環上有乙個指標,最初指向字母a。咕咕東每次可以順時針或者逆時針旋轉一格。例如,a順時針旋轉到z,逆時針旋轉到b。咕咕東手裡有乙個字串,但是他太笨了,所以他來請求你的幫助,問最少需要轉多少次。解題過程 ...