結果

問題 No.883 ぬりえ
ユーザー ks2mks2m
提出日時 2019-09-13 21:45:28
言語 Java
(openjdk 23)
結果
AC  
実行時間 1,910 ms / 2,000 ms
コード長 1,115 bytes
コンパイル時間 2,451 ms
コンパイル使用メモリ 77,024 KB
実行使用メモリ 54,772 KB
最終ジャッジ日時 2024-07-04 10:33:41
合計ジャッジ時間 8,954 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 19
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.util.Scanner;

public class Main {
	public static void main(String[] args) throws Exception {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int k = sc.nextInt();
		sc.close();

		int n2 = (int) Math.ceil(Math.sqrt(n));
		if (n2 <= k) {
			System.out.println(n2);
			int cnt = 0;
			for (int i = 0; i < n2; i++) {
				for (int j = 0; j < n2; j++) {
					if (cnt < n) {
						System.out.print('#');
						cnt++;
					} else {
						System.out.print('.');
					}
				}
				System.out.println();
			}
		} else {
			int m = (n + k - 1) / k;
			System.out.println(m);
			char[][] a = new char[m][m];
			for (int i = 0; i < m; i++) {
				for (int j = 0; j < m; j++) {
					a[i][j] = '.';
				}
			}
			int cnt = 0;
			label:
			for (int i = 0; i < m; i++) {
				int x = i;
				for (int j = 0; j < m; j++) {
					a[j][x] = '#';
					cnt++;
					if (cnt == n) {
						break label;
					}
					x++;
					if (x == m) {
						x = 0;
					}
				}
			}
			for (int i = 0; i < m; i++) {
				for (int j = 0; j < m; j++) {
					System.out.print(a[i][j]);
				}
				System.out.println();
			}
		}
	}
}
0