教育超市買了一套,1、2忘本地存了。prime和靜態鍊錶,較為簡單。
3 電信詐騙
一開始沒用dfs,每個團體儲存的只是查詢點的鄰近點,有乙個6分的測試點過不去。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
const
int maxv =
1010
;int k, n, m;
int g[maxv]
[maxv]
=, vis[maxv]=;
setint>> ans;
set<
int> s, t;
void
detect
(int u)}if
(c1 > k &&
1.0* c2 / c1 <=
0.2) s.
insert
(u);
}void
printset
(set<
int>
&s)printf
("\n");
}void
printss
(setint>>
&s)void
dfs(
int u)
void
detectgang()
}}intmain()
for(
int i =
1; i <= n; i++
)detect
(i);
if(s.
size()
)else
printf
("none\n");
return0;
}
4
結構體裡另外儲存father、layer,後中序構樹時候就存進去,full和root也構樹時候就儲存。
靜態陣列便於直接查詢。
摳字串有點煩。後來發現substr只要str開頭是數字,後面的一串自動忽略;開頭有幾個空格也會自動忽略。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
int n, k;
vector<
int> in, post;
map<
int,
int> ht;
int full =
1, root;
struct node no[
1010];
void
create
(int
&root,
int inl,
int inr,
int postl,
int postr,
int layer,
int father)
if(inr > inroot)
if(cnt ==
1) full =0;
}int
main()
create
(root,
1, n,
1, n,1,
-1);
scanf
("%d\n"
,&k)
;while
(k--
)else
if(s.
find
("siblings")!=
-1)else
if(s.
find
("same level")!=
-1)else
if(s.
find
("full tree")!=
-1)else
if(s.
find
("parent")!=
-1)else
if(s.
find
("left")!=
-1)else
if(s.
find
("right")!=
-1)}
return0;
}
PAT甲級2019春季真題題解
簽到題,素數不需要用篩法,直接o sqrt n 即可。熱身題,字串處理,使用集合判斷。稍難,圖論 並查集,還有要理解題意 個人認為pat最難的點 include include include define ac cin.tie 0 cin.sync with stdio 0 using names...
PAT甲級2020春季真題題解
簽到題,可以使用stoi將字串轉換為數字,然後試除法判斷是否為素數。include include using namespace std bool check const string s intmain 取子串 使用unordered set來做,比set效率高,如果不要求集合有序的話。incl...
2023年9月8日pat甲級第二題
比較鏈長,較短的鍊錶逆序輸出,在資料中保留上乙個節點下標即可。每次輸出長鏈的兩個節點外加短鏈的乙個節點,同時讓當前值指向下乙個節點的下標。若最後長鏈仍有節點,則順序輸出即可。如下 include include include using namespace std const int maxn 1...