UVa 839 - Not so Mobile解题报告

来源:互联网 发布:腾讯软件助手 编辑:程序博客网 时间:2024/06/05 10:50

题意:求一棵二叉树是否平衡。平衡的定义是每个树的w1*d1 == w2*d2,如果有子树,那么它的w为子树的w1+w2。

思路:直接递归模拟建树过程求解。

#include <iostream>using namespace std;int DFS();int flag;int main(){int cases;scanf("%d", &cases);while (cases--){flag = 1;DFS();if(flag)printf("YES\n");elseprintf("NO\n");if(cases)printf("\n");}return 0;}int DFS(){int w1, d1, w2, d2;scanf("%d%d%d%d", &w1, &d1, &w2, &d2);if(w1 == 0)//搜左孩子w1 = DFS();if(w2 == 0)//搜右孩子w2 = DFS();if(w1 * d1 != w2 * d2)flag = 0;return w1 + w2;//返回重量}



0 0
原创粉丝点击