题目名称 1928. [USACO Jan15] 所有进制
输入输出 whatbase.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 11
题目来源 Gravatarcqw 于2015-04-08加入
开放分组 全部用户
提交状态
分类标签
分治 USACO
分享题解
通过:23, 提交:57, 通过率:40.35%
GravatarTA 100 0.015 s 0.29 MiB C++
Gravatarjmisnal 100 0.015 s 0.31 MiB C++
Gravatarjmisnal 100 0.015 s 0.31 MiB C++
GravatarTAT 100 0.016 s 0.31 MiB C++
Gravatar小DOTA 100 0.016 s 0.31 MiB C++
GravatarTA 100 0.018 s 0.29 MiB C++
GravatarRa-xp 100 0.018 s 214.89 MiB C++
Gravatarjmisnal 100 0.020 s 0.31 MiB C++
Gravatarchs 100 0.027 s 0.31 MiB C++
GravatarDijkstra 100 0.067 s 0.31 MiB C++
本题关联比赛
20150408
关于 所有进制 的近10条评论(全部评论)
题目都说了有单调性了不用。。在线就是O(15000*K)啊。
GravatarTA
2015-04-09 07:46 4楼
其实题面最后一段是故意误导米娜桑的 TAT
Gravatarnew ioer
2015-04-09 07:30 3楼
妹的比赛的时候把++i的顺序写残了竟然还过了样例!。。
GravatarTA
2015-04-09 07:21 2楼
为什么考试的时候我就只想到了O(n^2*k)的算法(大家其实也一样),明明把十进制的所有数排序就行了。。。。。。脑抽
GravatarSatoshi
2015-04-08 23:10 1楼

1928. [USACO Jan15] 所有进制

★★   输入文件:whatbase.in   输出文件:whatbase.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】


贝茜奶牛一直在当地大学的计算班(或"牛腿",在她的情况下),她一直对用不同的进制书写数字很感兴趣。

一个数用B进制书写可用从右到左用1,B,B^2,B^3,...,等等。

例如,在我们熟悉的10进制系统,我们有代表1,10,100,1000等的数字。数字1234在10进制中的解释为:1(1000)+2(100)+3(10)+4(1)。同样的数字1234,在5进制中的解释为:1(125)+2(25)+3(5)+4(1),10进制中的数值比5进制的数值大了194。她注意到如果进制数增大,数字序列的变化——例如,1234在7进制中比6进制中大。

当用B进制写数字时,每个数字的范围可以从0到B-1,例如在10进制中每个数字范围在0--9,在5进制中每个数字范围在0--4。进制大于10,也是完全可能的。计算机科学家经常使用16进制("hexadecimal"),其中字母A..F代表数字值10..15。例如,BEEF在十六进制中对应于11(4096)+14(256)+14(16)+ 15,这比10进制增加了48879。

贝茜对大于10的进制概念感兴趣。

她得到一个数N,用两个不同的进制X,Y将它写下来,其中X和Y的范围在10..15000。有趣的是,在这两种情况下,她得到了一个3位数字的序列,其中每个只在范围1到9。不幸的是,由于贝茜的差记忆,她现在已经遗忘了N,X,Y!给出的仅仅是两个3位数字序列,她写下了,请帮她弄清两个进制X和Y。

请注意,受X和Y大小范围影响,一个搜索程序枚举X和Y的每一个可能的值(近15000^2种可能!)将不会运行在限定的时间内,所以它将不会得到满分。


【输入格式】

输入文件的开始和一个整数K,那么它包含K行,各指定一个单独的测试用例。每个测试案例是由两个3位数字。首先是一个用X进制书写的数N,第二个数是用Y进制书写数N(N,X,和Y在每个测试案例中可能是不同的)。

【输出格式】

你的输出应包含K行,每一个测试案例。在每行,输出两个数字X和Y,用一个空格隔开。对于每一种情况下,一个独特的解决方案保证存在。

【样例输入】

1
419 792

【样例输出】

47 35

【提示】


样例解释:

 数字8892,用47进制写是419。用35进制写是792。


【来源】

在此键入。