首页 > 代码库 > POJ 2499 Binary Tree 题解
POJ 2499 Binary Tree 题解
本题使用所谓的辗转相除法。
还需要逆过来遍历二叉树。可以想象给出的数据点是根节点,然后遍历到根节点(1,1)。
考的是根据给出的规则,总结规律的能力。
#include <stdio.h> namespace BinaryTree2499_1 { int main() { int T, a, b, le, ri; scanf("%d", &T); for (int t = 1; t <= T; t++) { scanf("%d %d", &a, &b); le = 0, ri = 0; while (a != 1 || b != 1) { if (a == 1 || b == 1) { if (a == 1) { ri += b - a; b = 1; } else { le += a - b; a = 1; } } else if (a < b) { ri += b / a; b %= a; } else { le += a / b; a %= b; } } printf("Scenario #%d:\n%d %d\n\n", t, le, ri); } return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。