結果
| 問題 |
No.457 (^^*)
|
| コンテスト | |
| ユーザー |
fal_rnd
|
| 提出日時 | 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() {
}
}
fal_rnd