Submission #901494

#TimeUsernameProblemLanguageResultExecution timeMemory
901494LOLOLOHyper-minimum (IZhO11_hyper)C++14
0 / 100
2048 ms241300 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define sz(x) (int)(x).size() #define len(x) (int)(x).length() #define cntbit(x) builtin_popcnt(x) #define f first #define s second #define pb push_back const int N = 36; int dp[N][N][N][N][N]; void minimize(int &a, int b) { if (a > b) a = b; } ll solve() { memset(dp, 0x3f, sizeof(dp)); int n, m; cin >> n >> m; n--; m--; for (int a = 0; a <= n; a++) { for (int b = 0; b <= n; b++) { for (int c = 0; c <= n; c++) { for (int d = 0; d <= n; d++) { cin >> dp[a][b][c][d][0]; } } } } vector < vector <int>> all; for (int mask = 0; mask < (1 << 4); mask++) { vector <int> v; for (int j = 0; j < 4; j++) { if (mask & (1 << j)) { v.pb(1); } else { v.pb(0); } } all.pb(v); } for (int a = n; a >= 0; a--) { for (int b = n; b >= 0; b--) { for (int c = n; c >= 0; c--) { for (int d = n; d >= 0; d--) { for (int k = 1; k <= m; k++) { for (auto x : all) { minimize(dp[a][b][c][d][k], dp[a + x[0]][b + x[1]][c + x[2]][d + x[3]][k - 1]); } } } } } } for (int a = 0; a + m <= n; a++) { for (int b = 0; b + m <= n; b++) { for (int c = 0; c + m <= n; c++) { for (int d = 0; d + m <= n; d++) { cout << dp[a][b][c][d][m] << " "; } } } } return 0; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t = 1; //cin >> t; while (t--) { solve(); //cout << solve() << '\n'; } }
#Verdict Execution timeMemoryGrader output
Fetching results...