Codeforces #439.Div.2
Posted 薛定谔的Submit
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces #439.Div.2相关的知识,希望对你有一定的参考价值。
A - The Artful Expedient
题目大意:
一对基友在玩♂游♂戏♂。每个人有一个数列,两个数列中所有的数字都不一样。
规则是,在两个数列中各取出一个数(a,b),将所有不同的数对全部取出来。
计算 a^b ,如果得到的值在两个数列其中的一个里,那么就加一分。
结束后计算得分,如果是奇数,则是Koyomi获胜,偶数则是Karen获胜。
输入一行一个整数:代表每个人有n个数。n ∈ [1,2000]。
输入一行n 个整数:代表Koyomi的数列。数列中数字的范围是[1,2e6]。
输入一行n 个整数:代表Karen的数列。数列中数字的范围是[1,2e6]。
输出一个字符串:代表胜利者。
样例输入:3 5
1 2 3 2 4 6 8 10
4 5 6 9 7 5 3 1
样例输出:Karen Karen
解题思路:
此题可以用暴力求解,但是却又更加优美的过题方式,利用异或运算的规律即可。
在异或运算中,若存在 a ^ b = c 那么也一定存在 a ^ c = b 以及 b ^ c = a。就像是一个环一样。
那么假设两个数列为 x,y。若a在x中,b在y中,且a ^ b = c,c在x或y中。
那么遍历x时,运算到a的时候,得到一分,运算到c的时候又得到了一分。
所以一旦有符合条件的情况出现,那么必定是成对出现的。
所以一定有偶数的分数,Karen一定胜利。
A C 代码:
1 import java.util.*; 2 3 public class Main{ 4 public static void main(String[] args){ 5 Scanner sc = new Scanner(System.in); 6 while(sc.hasNext()){ 7 int n = sc.nextInt(); 8 for(int i = 0;i < n;i ++){ 9 int t = sc.nextInt(); 10 } 11 for(int i = 0;i < n;i ++){ 12 int t = sc.nextInt(); 13 } 14 System.out.println("Karen"); 15 } 16 } 17 }
B - The Eternal Immortality
题目大意:
给你两个数a,b(a <= b && a,b ∈ [0,1e18])。
求出(b!/a!)的个位数字。
输入一行两个整数:a,b。
输出一行一个整数:代表(b!/a!)的个位数字。
样例:2 4 --> 2
0 10 --> 0
107 109 --> 2
解题思路:
明显要进行 %10 的处理。
而且结果跟两个数字的差有关。
但是部分人可能只想到了如果差大于十,结果都是0。
其实仔细想一下,两个数的差只要大于5,个位数就已经一直是0了。
A C 代码:
1 import java.util.*; 2 3 public class Main{ 4 public static void main(String[] args){ 5 Scanner sc = new Scanner(System.in); 6 while(sc.hasNext()){ 7 long x = sc.nextLong(); 8 long y = sc.nextLong(); 9 long t = y - x; 10 long ans = 1; 11 if(t >= 5){System.out.println("0");} 12 else{ 13 while(t > 0){ 14 ans = ans * (y % 10); 15 y --; 16 t --; 17 } 18 System.out.println(ans % 10); 19 } 20 } 21 } 22 }
C - The Intriguing Obsession
以上是关于Codeforces #439.Div.2的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces Round #439 (Div. 2) Problem B (Codeforces 869B)
Codeforces Round #439 (Div. 2) Problem A (Codeforces 869A) - 暴力
Codeforces Round #439 (Div. 2) Problem C (Codeforces 869C) - 组合数学
Codeforces Round #439 (Div. 2)
Codeforces Round #439 (Div. 2) Problem E (Codeforces 869E) - 暴力 - 随机化 - 二维树状数组 - 差分