結果
問題 | 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; }