結果

問題 No.265 数学のテスト
ユーザー mikoto1357mikoto1357
提出日時 2015-08-07 22:57:58
言語 Java
(openjdk 23)
結果
WA  
実行時間 -
コード長 1,178 bytes
コンパイル時間 2,340 ms
コンパイル使用メモリ 82,652 KB
実行使用メモリ 56,132 KB
最終ジャッジ日時 2024-07-18 05:14:37
合計ジャッジ時間 9,513 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 19 WA * 1 RE * 12
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.util.*;

public class Main{
	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		int n = scan.nextInt();
		int d = scan.nextInt();
		String s = scan.next();
		int[] z = new int[d+1];
		for(int i = 0;i < d;i++)	z[i] = 0;
		int dcount = 0 , zisuu = 0 , suu = 0;
		for(int i = 0;i < n;i++){
			if(s.charAt(i) == 'd'){
				dcount++;
				i++;
			}
			if(s.charAt(i) >= '1' && s.charAt(i) <= '9' || s.charAt(i) == 'x'){
				if(s.charAt(i) >= '1' && s.charAt(i) <= '9'){
					suu = s.charAt(i) - '0';
					zisuu = 0;
				}else{
					suu = 1;
					zisuu = 1;
				}
				if(i + 1 != n){
					while(s.charAt(i+1) == '*' && (s.charAt(i+2) >= '1' && s.charAt(i+2) <= '9' || s.charAt(i+2) == 'x')){
						if(s.charAt(i+2) >= '1' && s.charAt(i+2) <= '9'){
							suu *= s.charAt(i+2) - '0';
						}else{
							zisuu++;
						}
						i += 2;
						if(i == n)	break;
					}
				}
				if(dcount > 0){
					for(int j = dcount;j > 0;j--){
						suu *= zisuu;
						zisuu--;
					}
					if(zisuu < 0)	zisuu = 0;
				}
				z[zisuu] += suu;
			}
			if(s.charAt(i) == '}')	dcount--;
		}
		for(int i = 0;i < d+1;i++){
			System.out.print(z[i] + " ");
		}
	}
}
0