2015广东工业大学新生赛 总结+部分题解



A题:在储存价格的时候,在价格的末尾再加一位数,0表示没被选,1表示被选了,这样就能保证不超内存。


B题: A 和 B 的最小公倍数 为 C*K
已知 A C 求B的个数。(A能整除C)
起初以为K是当作变量来做,但是很明显,如果K当作变量那么显然B的个数是无数个。
因为任意C*K,B都可以等于C*K.
所以,显然K要当作常量, 那么K是多少其实是无所谓的,直接当作1即可


C题: n位数的最小的一个能被49整除的数。 利用快速幂求出 10^n % 49,求得的这个数设为t。49-t 就是我们所求数的末两位。
前面的各位显然是100000XX 。 在n小于等于2 的时候特判即可


H题: 给出三个速度v1v2v3,和操场周长L,求第n次相遇。
比较明显的是求出v1v2,v2v3相对速度v12、v23,然后L分别除以v12、v23得1、2和2、3的相遇时间t1,t2,然后求时间的最小公倍数,再乘n。
但是t1,t2是小数,求最小公倍数很麻烦,需要暴力枚举。我们需要推导来得到更快速的方法。
推导得到 这个最小公倍数就是 L/(X) ,X是v12、v23的最大公约数。

推导的关键在于,求两个分数的最大公约数,需要把两个数乘上分母的公倍数P,然后得到两个整数,求他们的最大公约数,再除以P。


代码不发了。

其他题当时AC了,感觉没什么好BB的~~

实在需要的话也可以找我

Problem B: 小刀带你们玩游戏

Description

xdlove很喜欢小刀,所以他经常去找小刀玩,有一天他们两个在玩跳跃的游戏,规则是这样的:两个人以相同的速度往前跳跃,但是每次跳跃距离不同,小刀每次跳跃距离为A米,xdlove每次跳跃距离为B米,他们两个只在离原点K*C(K是大于等于1的整数)米处同时落地。现在xdlove告诉你A和C,你能告诉xdlove他的跳跃距离B有多少个不同的值吗?

Input

 输入数据为T组(T<=1000),每组数据读入两个数A,C。(数据保证A能够整除C且1<=C=1e9

Output

 对于每一个测试实例,输出一个数X,表示B的种数,换行

Sample Input

12 4

Sample Output

1

Problem C: 魔幻任务

Description

数字47一向被数学界的人认为是很魔幻的一个数字,和47有关的任务被认为是魔幻任务。某天,doubleegg正在做着这类魔幻任务,路过的奇牛看到了,他说,你研究了老半天,研究出了什么?我来问你个简单的问题,我想知道长度为n位能够被47整除最小的数,你会吗?会吗?吗??由于doubleegg已经被奇牛的气场震晕过去,所以这个魔幻任务只能交给你了,聪明的你,一定想得到的。

Input

 第一行输入一个样例数T(T<=1000)

下面每一行输入一个n(n<=10000)

Output

 每一行输出一个答案,假设不存在,输出-1

Sample Input

12

Sample Output

47

Problem H: 跑操场

Description

 Three_Sbs赛跑,不不不,是三个sb绕一环形跑道赛跑,每个sb有一定的速度v1v2v3(单位为 米/秒 ),给出跑道周长L(单位为 米) 问三个sb N次相遇的时间(单位为 秒)

Input

 第一行输入样例组数T

接下来每组数据占一行,N,L,v1,v2v3,含义如题目描述,所有数据均为[1,100]的整数且保证不会存在 v1v2v3三者均相等 的数据。

Output

每组输出占一行,输出一个实数,保留小数点后两位,表示第N次相遇的时间。

Sample Input

1 1 6 1 2 3

Sample Output

6.00

你可能感兴趣的:(ACM算法竞赛,ACM)