#include<bits/stdc++.h>
#pragma GCC optimize("O3,unroll-loops")
using namespace std;
int x[35][35][35][35];
int mnm[35][35][35][35][35];
int n,m;
signed main()
{
ios_base::sync_with_stdio(0);cin.tie(0);
cin>>n>>m;
if(n>34)
{
cout<<1000000000000;
return 0;
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
for(int k=1;k<=n;k++)
{
for(int l=1;l<=n;l++)
{
cin>>x[i][j][k][l];
mnm[i][j][k][l][1] = x[i][j][k][l];
}
}
}
}
for(int p=2;p<=m;p++)
{
for(int i=n-p+1;i>0;i--)
{
for(int j=n-p+1;j>0;j--)
{
for(int k=n-p+1;k>0;k--)
{
for(int l=n-p+1;l>0;l--)
{
mnm[i][j][k][l][p] = mnm[i][j][k][l][p-1];
for(int mask=1;mask<(1<<4);mask++)
{
mnm[i][j][k][l][p] = min(mnm[i][j][k][l][p], mnm[i+(((1<<0)&mask)!=0)][j+(((1<<1)&mask)!=0)][k+(((1<<2)&mask)!=0)][l+(((1<<3)&mask)!=0)][p-1]);
}
}
}
}
}
}
for(int i=1;i<=n-m+1;i++)
{
for(int j=1;j<=n-m+1;j++)
{
for(int k=1;k<=n-m+1;k++)
{
for(int l=1;l<=n-m+1;l++)
{
cout<<mnm[i][j][k][l][m]<<" ";
}
}
}
}
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
4440 KB |
Output is correct |
2 |
Correct |
2 ms |
16732 KB |
Output is correct |
3 |
Correct |
6 ms |
39420 KB |
Output is correct |
4 |
Correct |
6 ms |
39260 KB |
Output is correct |
5 |
Correct |
6 ms |
39260 KB |
Output is correct |
6 |
Correct |
16 ms |
72296 KB |
Output is correct |
7 |
Correct |
14 ms |
72284 KB |
Output is correct |
8 |
Correct |
40 ms |
111184 KB |
Output is correct |
9 |
Correct |
35 ms |
112724 KB |
Output is correct |
10 |
Correct |
38 ms |
111196 KB |
Output is correct |
11 |
Correct |
102 ms |
153168 KB |
Output is correct |
12 |
Correct |
238 ms |
185172 KB |
Output is correct |
13 |
Correct |
187 ms |
184144 KB |
Output is correct |
14 |
Correct |
151 ms |
189868 KB |
Output is correct |
15 |
Correct |
199 ms |
214608 KB |
Output is correct |
16 |
Correct |
274 ms |
203348 KB |
Output is correct |
17 |
Correct |
290 ms |
204536 KB |
Output is correct |
18 |
Incorrect |
0 ms |
344 KB |
Output isn't correct |
19 |
Halted |
0 ms |
0 KB |
- |