UVA-839-二叉树-一个有意思的题目

Posted 菜菜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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-二叉树-一个有意思的题目的主要内容,如果未能解决你的问题,请参考以下文章

二叉树的递归遍历 天平UVa839

Uva--839 Not so Mobile(二叉树的递归遍历)

Uva 839天平(二叉树dfs, 递归建树)

UVa839 Not so Mobile (二叉树的DFS)

UVA 839 Not so Mobile

UVa 839 天平