QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#874338#3445. Numbers On a Treefernandes_queilaWA 79ms44124kbJava171.7kb2025-01-28 02:01:492025-01-28 02:01:49

Judging History

你现在查看的是最新测评结果

  • [2025-01-28 02:01:49]
  • 评测
  • 测评结果:WA
  • 用时:79ms
  • 内存:44124kb
  • [2025-01-28 02:01:49]
  • 提交

answer

import java.util.Scanner;

public class BinaryTreeLabel {

    static class TreeNode {
        int label;
        TreeNode left, right;

        TreeNode(int label) {
            this.label = label;
            this.left = this.right = null;
        }
    }

    public static TreeNode buildTree(int height) {
        int totalNodes = (1 << (height + 1)) - 1;
        TreeNode root = new TreeNode(totalNodes);
        buildTreeRecursively(root, height, totalNodes - 1);
        return root;
    }

    private static void buildTreeRecursively(TreeNode node, int height, int currentLabel) {
        if (height == 0) {
            return;
        }
        node.left = new TreeNode(currentLabel - 1);
        node.right = new TreeNode(currentLabel);
        buildTreeRecursively(node.left, height - 1, currentLabel - 2);
        buildTreeRecursively(node.right, height - 1, currentLabel - 1);
    }

    public static int findLabel(TreeNode root, String path) {
        TreeNode currentNode = root;
        for (int i = 0; i < path.length(); i++) {
            if (path.charAt(i) == 'L') {
                currentNode = currentNode.left;
            } else if (path.charAt(i) == 'R') {
                currentNode = currentNode.right;
            }
        }
        return currentNode.label;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        String inputLine = scanner.nextLine().strip();
        String[] parts = inputLine.split(" ");

        int height = Integer.parseInt(parts[0]);
        String path = parts.length > 1 ? parts[1] : "";

        TreeNode root = buildTree(height);
        int result = findLabel(root, path);
        System.out.println(result);

        scanner.close();
    }
}

詳細信息

Test #1:

score: 0
Wrong Answer
time: 79ms
memory: 44124kb

input:

3 LR

output:

12

result:

wrong answer 1st lines differ - expected: '11', found: '12'