結果
問題 | No.722 100×100=1000 |
ユーザー |
|
提出日時 | 2018-10-30 21:40:24 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 1,078 bytes |
コンパイル時間 | 891 ms |
コンパイル使用メモリ | 68,992 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-29 19:40:30 |
合計ジャッジ時間 | 1,572 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 27 |
ソースコード
#include <iostream> #include <string> #include <math.h> 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 (abs((long double)A1)<100 || abs((long double)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; }