結果
問題 | No.2708 Jewel holder |
ユーザー | haihamabossu |
提出日時 | 2024-03-31 13:42:58 |
言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 4 ms / 2,000 ms |
コード長 | 895 bytes |
コンパイル時間 | 2,192 ms |
コンパイル使用メモリ | 202,944 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-09-30 18:16:39 |
合計ジャッジ時間 | 2,569 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 |
ソースコード
#include <bits/stdc++.h> using namespace std; using ll = long long; #define rep(i, n) for (int i = 0; i < (int)(n); i++) void solve() { ll h, w; cin >> h >> w; vector<string> a(h); rep(i, h) cin >> a[i]; ll ans = 0; rep(S, (1ll << (h + w - 2))) { ll ci = 0, cj = 0, cnt = 1; bool ok = true; rep(k, (h + w - 2)) { if ((S >> k) & 1) { ci++; } else { cj++; } if (h <= ci || w <= cj) { ok = false; break; } if (a[ci][cj] == 'o') { cnt++; } if (a[ci][cj] == 'x') { cnt--; } if (cnt < 0 || a[ci][cj] == '#') { ok = false; break; } } if (ok) ans++; } cout << ans << '\n'; } int main() { std::cin.tie(nullptr); std::ios_base::sync_with_stdio(false); int T = 1; for (int t = 0; t < T; t++) { solve(); } return 0; }