結果
問題 |
No.722 100×100=1000
|
ユーザー |
![]() |
提出日時 | 2018-08-04 11:27:19 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 151 ms / 2,000 ms |
コード長 | 2,408 bytes |
コンパイル時間 | 2,769 ms |
コンパイル使用メモリ | 80,276 KB |
実行使用メモリ | 41,444 KB |
最終ジャッジ日時 | 2024-12-29 19:26:08 |
合計ジャッジ時間 | 8,391 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 27 |
ソースコード
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String A = scan.next(); String B = scan.next(); scan.close(); int cnt1 = 0; int cnt2 = 0; for(int i = 0; i < A.length(); i++) { if(A.charAt(i) == '0') { cnt1 ++; } } for(int i = 0; i < B.length(); i++) { if(B.charAt(i) == '0') { cnt2 ++; } } if(A.charAt(0) != '-' && B.charAt(0) != '-') { if(cnt1 >= 2 && cnt2 >= 2 && cnt1 == A.length() - 1 && cnt2 == B.length() - 1) { int t1 = Integer.parseInt(A.substring(0, 1)); int t2 = Integer.parseInt(B.substring(0, 1)); int ans = t1 * t2; System.out.print(ans); for(int i = 0; i < cnt1 + cnt2 - 1; i++) { System.out.print("0"); } System.out.println(); }else { long t1 = Integer.parseInt(A); long t2 = Integer.parseInt(B); long ans = t1 * t2; if(ans >= 0) { String k = Long.toString(ans); if(k.length() <= 8) { System.out.println(k); }else { System.out.println("E"); } } } }else if(A.charAt(0) != '-' || B.charAt(0) != '-') { long t1 = Integer.parseInt(A); long t2 = Integer.parseInt(B); if(t1 < 0) { t1 = -t1; } if(t2 < 0) { t2 = -t2; } String A1 = Long.toString(t1); String B1 = Long.toString(t2); if(cnt1 >= 2 && cnt2 >= 2 && cnt1 == A1.length() - 1&& cnt2 == B1.length() - 1) { long ans = t1 * t2; String k = Long.toString(ans); k = k.substring(0, k.length() - 1); System.out.println("-" + k); }else { long ans = t1 * t2; if(ans >= 0) { String k = Long.toString(ans); if(k.length() <= 8) { System.out.println("-" + k); }else { System.out.println("E"); } } } }else { if(cnt1 >= 2 && cnt2 >= 2 && cnt1 == A.length() - 2&& cnt2 == B.length() - 2) { int t1 = Integer.parseInt(A.substring(1, 2)); int t2 = Integer.parseInt(B.substring(1, 2)); int ans = t1 * t2; System.out.print(ans); for(int i = 0; i < cnt1 + cnt2 - 1; i++) { System.out.print("0"); } System.out.println(); }else { long t1 = Integer.parseInt(A); long t2 = Integer.parseInt(B); long ans = t1 * t2; if(ans >= 0) { String k = Long.toString(ans); if(k.length() <= 8) { System.out.println(k); }else { System.out.println("E"); } } } } } }