結果
| 問題 |
No.722 100×100=1000
|
| コンテスト | |
| ユーザー |
lunnear
|
| 提出日時 | 2018-11-13 13:53:25 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,012 bytes |
| コンパイル時間 | 566 ms |
| コンパイル使用メモリ | 54,428 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-10-12 11:16:04 |
| 合計ジャッジ時間 | 1,591 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 WA * 2 |
| other | AC * 17 WA * 10 |
ソースコード
#include <iostream>
#define CALC_MAX 99999999
#define CALC_MIN -99999999
struct Rise
{
int value;
int mul;
};
// A(10^n)形式を求める
Rise Rise10(int val)
{
Rise ret;
ret.value = val;
ret.mul = 0;
if(val == 0)
return ret;
while(1)
{
if((ret.value % 10) != 0)
return ret;
ret.value /= 10;
ret.mul++;
}
}
int main()
{
int a, b;
Rise ar, br;
std::cin >> a >> b;
ar = Rise10(a);
br = Rise10(b);
if((ar.mul > 0) && (br.mul > 0))
{
int loop = ar.mul + br.mul - 2;
std::cout << (ar.value * br.value);
for(int i = 0; i < loop; i++)
{
std::cout << "0";
}
return 0;
}
else
{
long long ans = a * b;
if((ans > CALC_MAX) || (ans < CALC_MIN))
{
std::cout << "E";
return 0;
}
std::cout << ans;
return 0;
}
}
lunnear