Codeforces Round #750 (Div. 2) A. Luntik and Concerts(内附结论证明)
Codeforces Round #750 (Div. 2)的其他题解点我
A. Luntik and Concerts
题目大意:
将a个1,b个2,c个3,分成两份,使两份的差值尽可能小,问最小差值
注意a,b,c>=1
思路:
直接判断所有数总和的奇偶性就好了,因为,a,b,c至少为1,所以只有0,1两种可能
证明:
我们可以同时将a,b,c减1,答案不会变化,也可以将其中任意一种减2,答案也不会变化,这样,a,b,c之间的差值就不会大于1,然后只要通过一边放b,一边放c来使差值加1减1,放a也是差值加1减1,所以差值最大只能是1了。
答案也显然就是 (a + 2 * b + 3 * c) % 2
AC代码:
#include
using namespace std;
int main(){int T;scanf("%d", &T); while(T--){ll a, b, c;scanf("%lld %lld %lld", &a, &b, &c);printf("%lld\n", (a * 1 + b * 2 + c * 3) % 2);}return 0;
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
