제출 #880017

#제출 시각아이디문제언어결과실행 시간메모리
880017alexdd최솟값 배열 (IZhO11_hyper)C++17
0 / 100
2452 ms262144 KiB
#include<bits/stdc++.h>
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;
    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[min(n,i+(((1<<0)&mask)!=0))][min(n,j+(((1<<1)&mask)!=0))][min(n,k+(((1<<2)&mask)!=0))][min(n,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;
}
/**



*/
#Verdict Execution timeMemoryGrader output
Fetching results...