QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#873294#3445. Numbers On a Treefernandes_queilaCompile Error//Java211.9kb2025-01-26 11:33:522025-01-26 11:34:05

Judging History

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

  • [2025-01-26 11:34:05]
  • 评测
  • [2025-01-26 11:33:52]
  • 提交

answer

import java.util.Scanner;

public class BinaryTree {
    static class TreeNode {
        int label;
        TreeNode left;
        TreeNode right;

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

    TreeNode root;
    int attemptCount = 0;
    void buildTree(int height) {
        int maxNode = (1 << (height + 1)) - 1;
        root = new TreeNode(maxNode);
        buildTreeRec(root, height, maxNode);
    }


    void buildTreeRec(TreeNode node, int height, int currentLabel) {
        if (height == 0 || attemptCount >= 10) {
            return;
        }

        int leftLabel = currentLabel - (1 << height);
        int rightLabel = currentLabel - 1;

        node.left = new TreeNode(leftLabel);
        node.right = new TreeNode(rightLabel);

        attemptCount++;

        buildTreeRec(node.left, height - 1, leftLabel);
        buildTreeRec(node.right, height - 1, rightLabel);
    }

    int searchNode(TreeNode root, String path) {
        TreeNode current = root;
        for (char move : path.toCharArray()) {
            if (move == 'L' || move == 'l') {
                current = current.left;
            } else if (move == 'R' || move == 'r') {
                current = current.right;
            }
            if (current == null) {
                return -1;  // Caminho inv\xe1lido
            }
        }
        return current.label;
    }

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

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

        BinaryTree tree = new BinaryTree();
        tree.buildTree(height);
        int label = tree.searchNode(tree.root, path);

        System.out.println(label);
    }
}

Details

BinaryTree.java:51: error: unmappable character (0xE1) for encoding UTF-8
                return -1;  // Caminho inv�lido
                                          ^
1 error