제출 #1237473

#제출 시각아이디문제언어결과실행 시간메모리
1237473d4nnaeeMagneti (COCI21_magneti)C++20
0 / 110
1095 ms320 KiB
#include<bits/stdc++.h> using namespace std; int n, l, r; long long ans = 0; const int MOD = 1e9 + 7; vector<bool> used; void dfs(int placed, int pos) { if (placed == n) { ans = (ans + 1) % MOD; return; } for (int i = pos; i < l; i++) { if (!used[i]) { bool ok = true; for (int j = max(0, i - r + 1); j <= min(l - 1, i + r - 1); j++) { if (j != i && used[j]) { ok = false; break; } } if (ok) { used[i] = true; dfs(placed + 1, i + 1); used[i] = false; } } } } int main() { cin >> n >> l; vector<int> rad(n); for (int i = 0; i < n; i++) cin >> rad[i]; r = rad[0]; used.resize(l, false); dfs(0, 0); cout << ans << "\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...