2977 二叉堆练习1
生活随笔
收集整理的這篇文章主要介紹了
2977 二叉堆练习1
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2977 二叉堆練習1
?
時間限制: 10 s 空間限制: 32000 KB 題目等級 : 白銀 Silver 題目描述 Description已知一個二叉樹,判斷它是否為二叉堆(小根堆)
輸入描述 Input Description二叉樹的節點數N和N個節點(按層輸入)
輸出描述 Output DescriptionYES或NO
樣例輸入 Sample Input樣例輸入1
3
1 4 9
樣例輸入2
3
6 4 9
樣例輸出 Sample Output樣例輸出1
YES
樣例輸出2
NO
數據范圍及提示 Data Size & Hint對于20%的數據? N≤20
對于50%的數據? N≤1000
對于100%的數據 N≤50000,每個節點≤10000
分類標簽 Tags 點此展開
1 #include<iostream> 2 using namespace std; 3 long long int a[100001]; 4 int main() 5 { 6 int n; 7 cin>>n; 8 for(int i=1;i<=n;i++) 9 { 10 cin>>a[i]; 11 } 12 int flag=0; 13 for(int i=1;i<=n;i++) 14 { 15 if((a[i*2]<a[i]&&a[i*2]!=0)||(a[i*2+1]<a[i]&&a[i*2+1]!=0)) 16 { 17 flag=1; 18 break; 19 } 20 } 21 if(flag==1) 22 { 23 cout<<"NO"; 24 } 25 else 26 { 27 cout<<"YES"; 28 } 29 return 0; 30 }?
總結
以上是生活随笔為你收集整理的2977 二叉堆练习1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学计算机没有电脑怎么办,电脑没有exce
- 下一篇: Python 复制文件并重命名