CF2119A.Add or XOR
入门
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
r-906 & IA AI - Psychologic Disco
给定两个非负整数 a,b。你可以对 a 进行任意次数、任意顺序的两种操作:
- a←a+1。该操作的花费为 x;
- a←a⊕1,其中 ⊕ 表示按位异或操作。该操作的花费为 y。
现在要求你将 a 变为 b。如果可以做到,输出最小花费;否则,输出 −1。
输入格式
每组测试包含多个测试用例。第一行包含一个整数 t(1≤t≤104),表示测试用例的数量。
每个测试用例的一行包含四个整数 a,b,x,y(1≤a,b≤100,1≤x,y≤107)——给定的两个整数以及两种操作各自的花费。
输出格式
对于每个测试用例,输出一个整数——将 a 变为 b 的最小花费。如果无法做到,输出 −1。
输入输出样例
输入#1
7 1 4 1 2 1 5 2 1 3 2 2 1 1 3 2 1 2 1 1 2 3 1 1 2 1 100 10000000 10000000
输出#1
3 6 1 3 -1 -1 990000000
说明/提示
在第一个测试用例中,最优策略是执行三次 a←a+1 操作。总花费为 1+1+1=3。
在第二个测试用例中,最优策略是依次执行 a←a+1、a←a⊕1、a←a+1、a←a⊕1。总花费为 2+1+2+1=6。
在第五个测试用例中,可以证明无法将 a 变为 b。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?