제출 #945953

#제출 시각아이디문제언어결과실행 시간메모리
945953iaraha은행 (IZhO14_bank)C++14
0 / 100
1 ms2904 KiB
// Эксперт до 15.04.2024 Насиб #pragma GCC optimize ("Ofast") #include <bits/stdc++.h> using namespace std; using ll = long long; using ld = long double; #define pf push_front #define pof pop_front #define pb push_back #define pob pop_back #define fi first #define se second #define Yes cout << "YES \n" #define No cout << "NO \n" #define Ferarri ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL); //////////////////// the code below //////////////////// ll dp[1001][11][(1 << 11)], mod = 1e9 + 7; signed main(){ Ferarri ll t = 1; //cin >> t; //cout << setprecision(8) << fixed; while (t --) { ll n, m; cin >> m >> n; dp[0][0][0] = 1; for (ll i = 0; i < n; i++) { for (ll j = 0; j < m; j++) { for (ll mask = 0; mask < (1 << m); mask++) { if (mask & (1 << j)) { dp[i][j + 1][mask - (1 << j)] += dp[i][j][mask]; dp[i][j + 1][mask - (1 << j)] %= mod; } else { dp[i][j + 1][mask + (1 << j)] += dp[i][j][mask]; dp[i][j + 1][mask + (1 << j)] %= mod; if (j + 1 < m && !(mask & (1 << (j + 1)))) { dp[i][j + 1][mask + (1 << (j + 1))] += dp[i][j][mask]; dp[i][j + 1][mask + (1 << (j + 1))] %= mod; } } } } for (ll mask = 0; mask < (1 << m); mask++) { dp[i + 1][0][mask] = dp[i][m][mask]; } } for (ll i = 1; i <= n; i++) { cout << dp[i][0][0] << ' '; } cout << dp[n][0][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...