PAT的題目解析總結一
阿新 • • 發佈:2020-09-04
1001 A+B Format
to_string()函式的使用,可以使一個數字轉換為字串形式
將新增逗號的位置問題轉換為數學問題:((i+1)%3==len%3)&&i!=len-1
1002 A+B for Polynomials
模擬題目:簡單的多項式加法,可以使用陣列儲存,來一項,就加一項
1003 Emergency
Dijkstra演算法,混合了最短路徑的條數,以及點權問題。
if(!vis[v]&&e[u][v]!=inf){ if(e[u][v]+dis[u]<dis[v]){ dis[v]=e[u][v]+dis[u]; num[v]=num[u]; w[v]=w[u]+weight[v]; }else if(e[u][v]+dis[u]==dis[v]){ num[v]+=num[u]; if(w[u]+weight[v]>w[v]){ w[v]=w[u]+weight[v]; } }
1004 Counting Leaves
每一層有多少個葉子節點
void dfs(int index,int depth){
if(v[index].size()==0){
book[depth]++;
maxdepth=max(depth,maxdepth);
return;
}
for(int i=0;i<v[index].size();++i){
dfs(v[index][i],depth+1);
}
}
1005 Spell It Right
水題
1006 Sign In and Sign Out
水題
1007 Maximum Subsequence Sum
最大子序列和,《資料結構與演算法》C語言版上的第一道演算法題,上面有三種解法