結果
| 問題 |
No.722 100×100=1000
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-10-30 21:37:27 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,024 bytes |
| コンパイル時間 | 661 ms |
| コンパイル使用メモリ | 64,788 KB |
| 実行使用メモリ | 6,820 KB |
| 最終ジャッジ日時 | 2024-10-12 11:14:49 |
| 合計ジャッジ時間 | 1,550 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 WA * 1 |
| other | AC * 22 WA * 5 |
ソースコード
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char* argv[])
{
string A,B;
cin>>A>>B;
long long A1,B1;
sscanf((char*)A.c_str(),"%lld",&A1);
sscanf((char*)B.c_str(),"%lld",&B1);
if (A1<100 || B1<100){
cout<<A1*B1<<endl;
return 0;
}
int zeroNum=0;
bool bAllZero=true;
int i=1;
int sign=0;
char ACh,BCh;
if (A[0]=='-'){
sign=1;
i++;
ACh=A[1];
}else{
ACh=A[0];
}
for (;i<A.size();i++){
if (A[i]!='0'){
bAllZero=false;
break;
}
zeroNum++;
}
if (bAllZero){
i=1;
if (B[0]=='-'){
if (sign==0){
sign=1;
}else{
sign=0;
}
BCh=B[1];
i++;
}else{
BCh=B[0];
}
for (;i<B.size();i++){
if (B[i]!='0'){
bAllZero=false;
break;
}
zeroNum++;
}
}
if (bAllZero){
if (sign==1){
cout<<"-";
}
cout<<(ACh-'0')*(BCh-'0');
for (i=1;i<zeroNum;i++){
cout<<"0";
}
cout<<endl;
return 0;
}
long long C=A1*B1;
if (C<-99999999 || C>99999999){
cout<<"E"<<endl;
return 0;
}
cout<<C<<endl;
return 0;
}