結果
問題 |
No.722 100×100=1000
|
ユーザー |
![]() |
提出日時 | 2019-02-20 01:55:43 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 999 bytes |
コンパイル時間 | 1,701 ms |
コンパイル使用メモリ | 167,880 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-29 19:43:17 |
合計ジャッジ時間 | 2,710 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 27 |
ソースコード
#include "bits/stdc++.h" using namespace std; using ll = long long; using ld = long double; const double PI = 3.1415926535897932384626433832795; const int dx[] = { 0, 1, 0, -1 }; const int dy[] = { -1, 0, 1, 0 }; int gcd(int x, int y) { return y ? gcd(y, x % y) : abs(x); } ll gcd(ll x, ll y) { return y ? gcd(y, x % y) : abs(x); } int lcm(int x, int y) { return x / gcd(x, y) * y; } ll lcm(ll x, ll y) { return x / gcd(x, y) * y; } bool isMentalArithmetic(ll aa, ll bb) { ll a = abs(aa), b = abs(bb); if (a == 0 || b == 0) { return false; } ll n = 0; while (a % 10 == 0) { a /= 10; n++; } ll m = 0; while (b % 10 == 0) { b /= 10; m++; } return a <= 9 && n >= 2 && b <= 9 && m >= 2; } int main() { ios::sync_with_stdio(false); cin.tie(0); ll a, b; cin >> a >> b; ll res = a * b; if (isMentalArithmetic(a, b)) { res /= 10LL; cout << res << endl; } else { cout << (-99999999 <= res && res <= 99999999 ? to_string(res) : "E") << endl; } return 0; }