370人阅读 评论(0)

# Constraints

Time Limit: 1 secs, Memory Limit: 32 MB

# Input

The first line of the input is a positive integer T. T is the number of test cases followed.

Each test case contain two integer a,b (0<=a<=10^100, 0<=b<=10,000) given in one line.

# Output

The output of each test case should consist of one line, contain the result of a*b.

# Sample Input

12 7

# Sample Output

14

#include <iostream>
#include <memory.h>

int ans[106];

std::string reverse(std::string s) {
std::string sss = "";
for (int i = s.length()-1; i >= 0; --i)
sss += s[i];
return sss;
}

void add(std::string s, int times) {
for (int i = 0; i < s.length(); ++i) {
ans[i] += (s[i]-'0') * times;
if (ans[i] > 9) {
ans[i+1] += ans[i] / 10;
ans[i] %= 10;
}
}
}

int main()
{
int num;
std::cin >> num;
while (num--) {
memset(ans, 0, sizeof(ans));
std::string s;
int times;
std::cin >> s >> times;
s = reverse(s);
while (times != 0) {
int temp = times % 10;
s = "0" + s;
times = (times - temp) / 10;
}
bool pre = true;
for (int i = 105; i >= 0; --i) {
if (pre && ans[i] == 0)
continue;
pre = false;
std::cout << ans[i];
}
if (pre) std::cout << "0";
std::cout << std::endl;
}
}

0
0

* 以上用户言论只代表其个人观点，不代表CSDN网站的观点或立场
个人资料
• 访问：26203次
• 积分：1263
• 等级：
• 排名：千里之外
• 原创：104篇
• 转载：0篇
• 译文：1篇
• 评论：3条
文章分类
阅读排行
评论排行
最新评论