我正在尝试解决以下 SPOJ 问题。我想澄清一下,我不需要这个问题的解决方案,这就是为什么我没有将此问题标记为“算法”。
Multiply the given numbers.
Input
n [the number of multiplications <= 1000]
l1 l2 [numbers to multiply (at most 10000 decimal digits each)]
Output
The results of multiplications.
Time Limit: 2 seconds.
我有一个简单的解决方案 O(n^2),这是我们在学校教授的方式(将输入读取为字符串并进行字符乘法)。我知道我可以通过Karatsuba方法进一步优化它。
问题:
我现在的代码是用C++编写的。我在互联网上读到,通过 scanf
读取比 cin
更快。鉴于输入大小如此之大,在这种情况下会产生显着差异吗?
如果有选择,我不想将 C 与 C++ 混合使用,因此任何有关如何改进输入流的想法都会非常有帮助。
谢谢
最佳答案
关于C++ 快速 cin 输入流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19629049/