QOJ.ac

QOJ

Límite de tiempo: 1 s Límite de memoria: 256 MB Puntuación total: 100

#666. 位运算

Estadísticas

给定 $N$ 对整数 $(x_i, y_i)$。请构造一个函数 $f$,使得对于每个 $i$,都有 $y_i = f(x_i)$。该函数 $f$ 必须能够用 C 语言编写为以下形式:

uint32_t f(uint32_t x) {
return Expression;
}

其中 uint32_t 是一个无符号 32 位整数。Expression 必须满足以下 BNF 范式:

::= "x" | | "(~" ")" | "(" ")"

::= "&" | "|" | "^" | "+" | "-" | "*"

其中 <num> 是以十进制表示的无符号 32 位整数。它不能包含前导零,除非该数字本身为 0(此时应表示为 0)。

输入格式

第一行包含一个整数 $N$ ($1 \le N \le 8$)。 接下来的 $N$ 行中,第 $i$ 行包含两个整数 $x_i$ 和 $y_i$ ($0 \le x_i, y_i < 256$)。

输出格式

输出一个满足条件的表达式。

输出必须严格遵循题目中给出的 BNF 格式。不允许出现多余的空格、换行符、括号等。输出的字符数最多为 $10^5$。保证对于给定的输入,答案一定存在。

样例

样例 1

输入

8
1 1
2 2
3 3
4 0
5 1
6 2
7 3
8 0

输出

(x&3)

样例 2

输入

8
1 0
2 0
3 2
4 0
5 4
6 4
7 6
8 0

输出

(x&(x-1))

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.