제출 #97015

#제출 시각아이디문제언어결과실행 시간메모리
97015E869120웜뱃 (IOI13_wombats)C++14
37 / 100
4075 ms104696 KiB
#include "wombats.h" #include <bits/stdc++.h> using namespace std; int H, W, size_, A1[5009][209], A2[5009][209], dat[16384][109][109]; bool ok[16384]; void update(int pos) { if (ok[pos * 2 + 1] == false) { for (int i = 0; i < W; i++) { for (int j = 0; j < W; j++) dat[pos][i][j] = dat[pos * 2][i][j]; } return; } int L = pos * 2, R = pos * 2 + 1; for (int i = 0; i < W; i++) { for (int j = 0; j < W; j++) dat[pos][i][j] = (1 << 30); } for (int i = 0; i < W; i++) { for (int j = 0; j < W; j++) { for (int k = 0; k < W; k++) dat[pos][i][k] = min(dat[pos][i][k], dat[L][i][j] + dat[R][j][k]); } } } void recharge(int pos, int B){ pos += size_; for (int i = 0; i < W; i++) { dat[pos][i][i] = A2[pos - size_][i]; int s = 0; for (int j = i + 1; j < W; j++) { s += A1[pos - size_][j - 1]; dat[pos][i][j] = s + A2[pos - size_][j]; } s = 0; for (int j = i - 1; j >= 0; j--) { s += A1[pos - size_][j]; dat[pos][i][j] = s + A2[pos - size_][j]; } } while (pos >= 2) { if (B == 2 && pos % 2 == 0) break; pos /= 2; update(pos); } } void init(int R, int C, int I[5000][200], int V[5000][200]) { size_ = 1; while (size_ < R) size_ *= 2; H = R; W = C; for (int i = 0; i < H; i++) { int cx = i + size_; ok[cx] = true; while (cx >= 2) { cx /= 2; ok[cx] = true; } } for (int i = 0; i < H; i++) { for(int j = 0; j < W - 1; j++) A1[i][j] = I[i][j]; } for (int i = 0; i < H - 1; i++) { for (int j = 0; j < W; j++) A2[i][j] = V[i][j]; } for (int i = 0; i < size_; i++) recharge(i, 2); /*for (int i = 1; i < size_ * 2; i++) { cout<<i<<":"<<endl; for (int j = 0; j < W; j++) { for (int k = 0; k < W; k++) cout<<dat[i][j][k]<<" "; cout<<endl; } cout<<endl; }*/ } void changeH(int P, int Q, int T) { A1[P][Q] = T; recharge(P, 1); } void changeV(int P, int Q, int T) { A2[P][Q] = T; recharge(P, 1); } int escape(int V1, int V2) { return dat[1][V1][V2]; }

컴파일 시 표준 에러 (stderr) 메시지

grader.c: In function 'int main()':
grader.c:15:6: warning: variable 'res' set but not used [-Wunused-but-set-variable]
  int res;
      ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...