QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 64 MB Total points: 100

#12096. 约数

Statistics

在这个问题中,我们关注给定自然数 $n$ 的约数。令 $D(n)$ 表示这些约数的集合。我们给定一个表达式,它由集合 $D(n)$ 中的常数、可以取集合 $D(n)$ 中任意值的变量,以及计算最大公约数和最小公倍数的二元函数组成。

对于给定的表达式,我们希望判断其值是否在所有变量取值的情况下都保持不变。

输入格式

标准输入的第一行包含一个整数 $t$ ($1 \le t \le 1,000$),表示测试用例的数量。接下来的 $t$ 行,每行包含一个测试用例的描述。每个描述以一个整数 $n_{i}$ ($1 \le n_{i} \le 10^{18}$) 开头,随后是表达式的描述。表达式可以是常数、变量或函数。

描述中的每个数字都代表一个常数。所有这些数字都是 $n_{i}$ 的正约数。

变量由最多 5 个小写英文字母组成的序列表示。由相同字母序列表示的变量被视为同一个变量。

序列 NWDNWW 分别代表计算最大公约数和最小公倍数的函数。函数名后跟一个空格,随后是空格分隔的参数描述,参数本身也是表达式(因此,表达式的描述是递归的)。

你可以假设输入文件的总大小不超过 2 MB。

输出格式

程序应向标准输出输出 $t$ 行,包含后续测试用例的答案。单个测试用例的答案为一个单词:TAK(波兰语中表示“是”)或 NIE(波兰语中表示“否”),说明该测试用例中的表达式是否表示一个常数函数。

样例

输入 1

3
24 NWD 3 NWW x 12
15 NWD 15 nwd
10 10

输出 1

TAK
NIE
TAK

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.