結果
問題 | No.883 ぬりえ |
ユーザー |
|
提出日時 | 2024-11-17 11:48:01 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,175 bytes |
コンパイル時間 | 3,394 ms |
コンパイル使用メモリ | 247,116 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-17 11:48:07 |
合計ジャッジ時間 | 5,498 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 15 WA * 4 |
ソースコード
#ifndef LOCAL #include <bits/stdc++.h> using namespace std; #define debug(...) (void(0)) #else #include "algo/debug.h" #endif void solve() { int N, K; cin >> N >> K; auto check = [&](int L) -> bool { int Lq = L / K, Lr = L % K; return K * K * Lq + Lr * Lr >= N; }; int lo = 1, hi = 1001; while (hi - lo > 1) { int mi = (lo + hi) >> 1; (check(mi) ? hi : lo) = mi; } cout << hi << endl; vector<string> ans(hi, string(hi, '.')); int cur = 0; [&]() -> void { while (N) { for (int i = cur; i < min(hi, cur + K); i++) { for (int j = cur; j < min(hi, cur + K); j++) { ans[i][j] = '#'; N--; if (!N) return; } } cur += K; } }(); for (int i = 0; i < hi; i++) cout << ans[i] << "\n"; } int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int tt = 1; // std::cin >> tt; while (tt--) { solve(); } }