比赛链接
A.Sweet Problem
题意:
有三种糖果,要求每天必须吃两颗不同种类的糖果,问最多可以吃几天
分析:
排个序,然后很明显,如果最少的两种糖果个数之和(设为sum)小于等于最多的,就能吃sum天,否则是三种糖果之和除以2,向下取整。
Code:
1 |
|
B1.PIN Codes
题意:
给出n个4位PIN码,要求变换最少的数字,使得n个PIN码两两不同
分析:
因为每组样例的n最大为10,所以出现重复PIN时,我们可以只修改每个PIN的末位。注意,开始处理前必须将已经出现过的末位数字标记上。
Code:
1 |
|
C.Everyone is a Winner!
题意:
一个n,分别被n+1到1除,向下取整,问商有几个,
分析:
打表找规律,规律看下方代码
Code:
1 |
|
D.Secret Passwords
题意:
n个密码串。如果两个密码含有同一个字母,两串密码等价。n个密码里仅有一个是正确密码,当然,和它等价的也是正确密码。问最坏情况要试多少个密码。
分析:
就是询问共有多少个不等价密码串。考虑等价条件,采用并查集进行合并。首先,以行为单位进行合并, 已知一个并查集的集合里所有元素的祖先只有一个,因此查询所有出现过的字母的祖先,去重即可
Code:
1 |
|