日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

16行代码AC_【第十届蓝桥杯省赛c/c++B组真题解析】7.完全二叉树的权值

發布時間:2024/2/28 c/c++ 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 16行代码AC_【第十届蓝桥杯省赛c/c++B组真题解析】7.完全二叉树的权值 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

勵志用更少的代碼做更高效的表達


給定一棵包含 N 個節點的完全二叉樹,樹上每個節點都有一個權值,按從
上到下、從左到右的順序依次是 A1, A2, · · · AN,如下圖所示

現在小明要把相同深度的節點的權值加在一起,他想知道哪個深度的節點
權值之和最大?如果有多個深度的權值和同為最大,請你輸出其中最小的深度。
注:根的深度是 1。

【輸入格式】
第一行包含一個整數 N。
第二行包含 N 個整數 A1, A2, · · · AN 。

【輸出格式】
輸出一個整數代表答案。

【樣例輸入】
7
1 6 5 4 3 2 1

【樣例輸出】
2


刷題時乍一看以為是考查樹的數據結構, 特地沒做,想留到晚上細細研究。 結果仔細一看發現, md就是一求和題, 我吐了。

#include <bits/stdc++.h> using namespace std; int a[100000]; int main(){//輸入個數 int n,i,m,max1,c,z=1;//實現輸入scanf("%d",&n);for(i=0;i<n;i++) scanf("%d",&a[i]);//實現相同深度權值最大的最小深度max1=a[0];//最大值初始化 for(m=1;m<sqrt(n);m++){c=0;//權值和初始化for(i=1;((pow(2,m)-1)<=i)&&((pow(2,m+1)-1)>i);i++)c=c+a[i]; if(c>max1) z=m+1;}printf("%d\n",z); return 0;}

總結

以上是生活随笔為你收集整理的16行代码AC_【第十届蓝桥杯省赛c/c++B组真题解析】7.完全二叉树的权值的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。