結果

問題 No.3558 Dominoes, Black and White
コンテスト
ユーザー msksknkn
提出日時 2026-06-06 20:24:01
言語 Java
(openjdk 25.0.2)
コンパイル:
javac -encoding UTF8 _filename_
実行:
java -ea -Xmx700m -Xss256M -DONLINE_JUDGE=true _class_
結果
WA  
実行時間 -
コード長 817 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 4,598 ms
コンパイル使用メモリ 83,524 KB
実行使用メモリ 66,268 KB
最終ジャッジ日時 2026-06-06 20:24:33
合計ジャッジ時間 28,210 ms
ジャッジサーバーID
(参考情報)
judge1_1 / judge3_1
このコードへのチャレンジ
(要ログイン)
サブタスク 配点 結果
部分点 10 % AC * 17 WA * 13
満点 90 % AC * 21 WA * 68
合計 0 点
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

package no3558_dominos_black_and_white;
import java.util.*;
public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		String[] s = new String[n];
		int[] cnt = new int[n];
		long ans = 0;
		ArrayDeque<Integer> q = new ArrayDeque<>();
		for(int i = 0;i < n;i++) {
			s[i] = sc.next();
			for(int j = 0;j < 2 * n;j++) {
				if(s[i].charAt(j) == '.') {
					ans += j - cnt[i];
					if(cnt[i] >= n) {
						q.add(n * i + j);
					}
					cnt[i]++;
				}
			}
		}//System.out.println(q);
		for(int i = 0;i < n;i++) {
			for(int j = cnt[i];j < n;j++) {
				int v = q.poll();
				int a = v / n;
				int b = v % n;
				ans += Math.abs(a - i) + Math.abs(b - j);
			}
		}System.out.println(ans);
	}

}
0