首页 > 代码库 > UVA-839-二叉树-一个有意思的题目
UVA-839-二叉树-一个有意思的题目
题意:
一颗二叉树可以看成一个杠杆,左右俩边有重量,有到支点长度,判断整个树是否平衡(根据杠杆原理),如果当前结点有左孩子,那么当前左边的重量就是左孩子的总和,右边同理
递归,发现scanf和cin的效率差好多.
AC时间:20ms(scanf),80ms(cin)
#include<stdio.h>#include<iostream>#include<queue>#include<memory.h>using namespace std;const int MAX = 1000;int read(int* ok){ int wl, dl, wr, dr; //cin >> wl >> dl >> wr >> dr; scanf("%d %d %d %d",&wl, &dl, &wr, &dr); if(wl == 0) wl = read(ok); if(wr == 0) wr = read(ok); if(wl * dl != wr * dr) *ok = 0; return wl + wr;}int main(){ freopen("d:\\1.txt", "r", stdin); int n; cin >> n; while (n--) { int ok = 1; read(&ok); if(ok) { cout << "YES" << endl; } else cout << "NO" << endl; if(n != 0) cout << endl; } return 0;}
终于在voj有70个题了,搜索章节还有29个题,o(︶︿︶)o 唉,洗澡去
UVA-839-二叉树-一个有意思的题目
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。