結果
問題 | No.883 ぬりえ |
ユーザー | ks2m |
提出日時 | 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 |
ソースコード
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(); } } } }