AT_k2pc001_h2.虫歯(Cavity)
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
※截至 20:22,集合评测似乎未能正常运行。修正后将进行重新评测。(每个测试用例显示的结果应该是正确的)
※20:35 已修正集合评测数据并进行了重新评测。原本看似正确的提交也有可能被判为错误。请注意确认。给您带来不便,敬请谅解。
kyuridenamida 因为吃了太多零食,导致一颗牙齿蛀坏了。
由于这颗牙齿非常疼痛,他去看了牙医,牙医帮他治疗了牙齿神经中的 N 个部位。
kyuridenamida 的牙齿神经如图 1 所示,构成了一棵深度为 K 的完全二叉树。
(关于二叉树,请参考 Wikipedia 页面 等。)
图 1
在表示他神经的二叉树中,深度为 i,从左往右第 j 个神经记作 (i,j)(见图 2)。
此时,能够沿着祖先节点一直追溯到根节点 (0,1) 的神经,被称为蛀牙神经。
但是,如果某个蛀牙神经的祖先已经被治疗,则该神经无法到达根节点 (0,1)。
另外,如果 (0,1) 本身未被治疗,则认为 (0,1) 能够到达自身。
图 2
能够到达根节点的蛀牙神经的总数被称为牙痛值。
你的任务是,根据给出的 kyuridenamida 的蛀牙信息,计算并输出他的牙痛值。
请输出能够传递疼痛的神经的数量,输出一行。
(注意,答案可能超出 32 位整数范围。)
- 1≤K≤50 牙齿神经的深度
- 0≤N≤105 已治疗神经的数量
- 0≤pi≤K 已治疗神经 i 的深度
- 1≤qi≤2pi 已治疗神经 i 在深度 pi 时的位置
- 若 pi=pj,则保证 qi=qj
对于 40% 的测试点,N≤1000。
1
1
1 1
2
9
0
1023
3
2
1 2
3 7
8
对应输入输出样例 3 的图如下所示。
其中,图中的蓝色圆圈表示已治疗的神经,红色叉号表示能够到达根节点的蛀牙神经。

输入格式
第一行包含一个整数 K,表示牙齿神经的深度。
第二行包含一个整数 N,表示已治疗神经的数量。
接下来的 N 行,每行包含两个整数 pi 和 qi,表示第 i 个已治疗神经的位置。
输出格式
输出一行,表示能够传递疼痛的神经的数量。
输入输出样例
输入#1
1 1 1 1
输出#1
2
输入#2
9 0
输出#2
1023
输入#3
3 2 1 2 3 7
输出#3
8
说明/提示
无。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?