반응형
약 3시간동안 붙잡고 있었던 하이퍼토마토...
너무 어려웠습니다...
주변에 도움주신분들 감사합니다...
코드는 일부분을 삭제했으니 복붙은 하지 마시기 바랍니다...
#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
#define D7 1000000007 //백준님 이 코드를 보고 있다면 이 코드를 BOJ에서 BAN해주세요
#define D9 1000000009
#define D3 998244353
using namespace std;
typedef long long int ll;
void fastio() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
}
int M, N, O, P, Q, R, S, T, U, V, W;
struct info {
int wwww, vvvv, uuuu, tttt, ssss, rrrr, qqqq, pppp, oooo, nnnn, mmmm;
};
queue<info> q;
// ?
int main() {
fastio();
cin >> M >> N >> O >> P >> Q >> R >> S >> T >> U >> V >> W;
int arr[W][V][U][T][S][R][Q][P][O][N][M];
for(int ww=0; ww<W; ww++) {
for(int vv=0; vv<V; vv++) {
// ?
for(int mm=0; mm<M; mm++) {
cin >> arr[ww][vv][uu][tt][ss][rr][qq][pp][oo][nn][mm];
if(arr[ww][vv][uu][tt][ss][rr][qq][pp][oo][nn][mm]==1) {
q.push({ww, vv, uu, tt, ss, rr, qq, pp, oo, nn, mm});
}
}
}
}
} //Haru_101
}
}
}
}
}
}
}
while(!q.empty()) {
info x = q.front();
int w = x.wwww;
int v = x.vvvv;
int uuu = x.uuuu;
int t = x.tttt;
int s = x.ssss;
int r = x.rrrr;
int tmq = x.qqqq;
int p = x.pppp;
int o = x.oooo;
int n = x.nnnn;
int m = x.mmmm;
q.pop();
for(int u=0; u<22; u++) {
// ?
if(nw>=0 && nw<W && nv>=0 && nv<V && nu>=0 && nu<U && nt>=0 && nt<T && ns>=0 && ns<S && nr>=0 && nr<R && nq>=0 && nq<Q && np>=0 && np<P && no>=0 && no<O && nn>=0 && nn<N && nm>=0 && nm<M && arr[nw][nv][nu][nt][ns][nr][nq][np][no][nn][nm]==0) {
arr[nw][nv][nu][nt][ns][nr][nq][np][no][nn][nm] = arr[w][v][uuu][t][s][r][tmq][p][o][n][m] + 1;
q.push({nw, nv, nu, nt, ns, nr, nq, np, no, nn, nm});
}
} //Haru_101
}
ll _maxdays = 0;
for(int ww=0; ww<W; ww++) {
for(int vv=0; vv<V; vv++) {
for(int uu=0; uu<U; uu++) {
for(int tt=0; tt<T; tt++) {
for(int ss=0; ss<S; ss++) {
for(int rr=0; rr<R; rr++) {
for(int qq=0; qq<Q; qq++) {
for(int pp=0; pp<P; pp++) {
for(int oo=0; oo<O; oo++) {
for(int nn=0; nn<N; nn++) {
for(int mm=0; mm<M; mm++) { //Haru_101
if(arr[ww][vv][uu][tt][ss][rr][qq][pp][oo][nn][mm]==0) {
cout << -1;
return 0;
} else {
_maxdays = max(_maxdays, (ll)arr[ww][vv][uu][tt][ss][rr][qq][pp][oo][nn][mm]);
}
}
}
}
}
}
}
}
}
}
}
}
cout << _maxdays-1;
}반응형
'BOJ' 카테고리의 다른 글
| BOJ 12095 가장 오래 걸리는 스도쿠 (0) | 2022.05.02 |
|---|---|
| [C++] BOJ 1735 - 분수 합 (0) | 2022.04.09 |
| [BOJ] SASA Programming Contest 2021 Haru_101 ver. (0) | 2022.03.22 |
| [C++] 23827 - 수열(Easy) (0) | 2021.12.17 |
| [C++] BOJ 11726 - 2xn 타일링 (0) | 2021.09.05 |