結果
問題 | No.49 算数の宿題 |
ユーザー |
![]() |
提出日時 | 2016-11-15 00:51:49 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 138 ms / 5,000 ms |
コード長 | 1,037 bytes |
コンパイル時間 | 2,362 ms |
コンパイル使用メモリ | 77,600 KB |
実行使用メモリ | 41,688 KB |
最終ジャッジ日時 | 2024-12-23 01:53:56 |
合計ジャッジ時間 | 4,433 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 10 |
ソースコード
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String S = sc.next(); String [] ss = S.split("\\*|\\+"); int [] n = new int [ss.length]; for(int i=0; i<ss.length; i++){ n[i] = Integer.parseInt(ss[i]); } int r = n[0]; int i = 1; int a = ind(S,"*"); int b = ind(S,"+"); int min = Math.min(a,b); while(true){ String t =S.substring(min,min+1); if( t.equals("*") ){ r=r+n[i]; }else{ r=r*n[i]; } i++; S = S.substring(min+1); a = ind(S,"*"); b = ind(S,"+"); if(a==b){break;} min = Math.min(a,b); } System.out.println(r); } static int ind(String a, String b){ int x = a.indexOf(b); if(x==-1){ x=Integer.MAX_VALUE; } return x; } }