我正在尝试以下 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++ 混合使用,因此任何关于如何改进输入流的想法都会非常有帮助。
谢谢