AT_agc061_e.[AGC061E] Increment or XOR
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个非负整数 X,初始值为 S。你可以以任意顺序、任意次数执行以下操作:
- 给 X 加 1。该操作的代价为 A。
- 选择一个 1 到 N 之间的 i,将 X 替换为 X⊕Yi。该操作的代价为 Ci。这里,⊕ 表示按位异或运算。
请你求出将 X 变为给定非负整数 T 所需的最小总代价,或者报告无法达成目标。
按位异或运算的定义如下:
对于非负整数 A,B,A⊕B 的二进制表示中,第 2k 位(k≥0)的数,如果 A 和 B 的该位只有一个为 1,则结果为 1,否则为 0。
例如,3⊕5=6(二进制为:011⊕101=110)。
一般地,k 个非负整数 p1,p2,p3,…,pk 的按位异或为 (…((p1⊕p2)⊕p3)⊕⋯⊕pk),并且可以证明,这个结果与顺序无关。
输入格式
输入从标准输入读入,格式如下:
N S T A
Y1 C1
⋮
YN CN
输出格式
如果无法达成目标,输出 -1。否则,输出所需的最小总代价。
输入输出样例
输入#1
1 15 0 1 8 2
输出#1
5
输入#2
3 21 10 100 30 1 12 1 13 1
输出#2
3
输入#3
1 2 0 1 1 1
输出#3
-1
输入#4
8 352217 670575 84912 239445 2866 537211 16 21812 6904 50574 8842 380870 5047 475646 8924 188204 2273 429397 4854
输出#4
563645
说明/提示
限制条件
- 1≤N≤8
- 0≤S,T<240
- 0≤A≤105
- 0≤Yi<240(1≤i≤N)
- 0≤Ci≤1016(1≤i≤N)
- 输入中的所有值均为整数。
样例解释 1
可以通过以下方式将 X 变为 T:
- 选择 i=1,将 X 替换为 X⊕8,此时 X=7,代价为 2。
- 给 X 加 1,此时 X=8,代价为 1。
- 选择 i=1,将 X 替换为 X⊕8,此时 X=0,代价为 2。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?