結果
問題 | No.457 (^^*) |
ユーザー |
![]() |
提出日時 | 2016-12-09 17:38:18 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 577 ms / 2,000 ms |
コード長 | 1,338 bytes |
コンパイル時間 | 2,565 ms |
コンパイル使用メモリ | 79,184 KB |
実行使用メモリ | 44,248 KB |
最終ジャッジ日時 | 2024-11-28 16:27:34 |
合計ジャッジ時間 | 7,949 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 20 |
ソースコード
package src; import java.util.*; class C{ static Scanner s = new Scanner(System.in); static int resL=0,resR=0,availableEdgeL=0,availableEdgeR=0; public static void main(String[] args) { char[] in = s.next().toCharArray(); ArrayList<Checker> L=new ArrayList<>(),R=new ArrayList<>(); for(int i=0;i<in.length;i++) { char c=in[i]; if(c=='(') { L.add(new Checker()); R.add(new Checker()); } ListIterator<Checker> it = L.listIterator(); while(it.hasNext()) { checkL(it.next(), c); } it = R.listIterator(); while(it.hasNext()) { checkR(it.next(), c); } // System.out.printf("%d %d\n",resL,resR); } System.out.printf("%d %d\n",resL,resR); } static void checkR(Checker checker,char c){ switch(checker.flag) { case 0: if(c=='(') checker.flag++; break; case 1: if(c=='*') checker.flag++; break; case 2: case 3: if(c=='^') checker.flag++; break; case 4: if(c==')') resR++; break; } } static void checkL(Checker checker,char c){ switch(checker.flag) { case 0: if(c=='(') checker.flag++; break; case 1: case 2: if(c=='^') checker.flag++; break; case 3: if(c=='*') checker.flag++; break; case 4: if(c==')') resL++; break; } } } class Checker{ int flag=0; Checker() { } }