Submission #64726

# Submission time Handle Problem Language Result Execution time Memory
64726 2018-08-05T13:17:01 Z mhnd Wombats (IOI13_wombats) C++14
9 / 100
1569 ms 26116 KB
#include "wombats.h"
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef unsigned long long ull;
const int N = 1e5+50;
const ll oo = 1e18;
const ll mod = 1e9+7;

int dp[201][5001][201],h[5010][210],v[5010][210],c,r;

void build(){
	for(int x = 0;x<c;x++){
		for(int i=0;i<c;i++)dp[x][r-1][i]=1e9;
		dp[x][r-1][x]=0;
	    for(int i=r-2;i>=0;i--)
	    	for(int j=0;j<c;j++)
	    		dp[x][i][j] = dp[x][i+1][j] + v[i][j];
		for(int i=r-1;i>=0;i--){
		    for(int j=1;j<c;j++){
		    	if(i!=r-1)dp[x][i][j] = min(dp[x][i][j],dp[x][i+1][j]+v[i][j]);
		    	dp[x][i][j] = min(dp[x][i][j],dp[x][i][j-1] + h[i][j-1]);
		    }
		}
		for(int i=r-1;i>=0;i--){
		    for(int j=0;j<c-1;j++){
		    	if(i!=r-1)dp[x][i][j] = min(dp[x][i][j],dp[x][i+1][j]+v[i][j]);
		    	dp[x][i][j] = min(dp[x][i][j],dp[x][i][j+1] + h[i][j]);
		    }
		}
		for(int i=r-1;i>=0;i--){
		    for(int j=0;j<c-1;j++){
		    	if(i!=r-1)dp[x][i][j] = min(dp[x][i][j],dp[x][i+1][j]+v[i][j]);
		    	dp[x][i][j] = min(dp[x][i][j],dp[x][i][j+1] + h[i][j]);
		    }
		}
		for(int i=r-1;i>=0;i--){
		    for(int j=1;j<c;j++){
		    	if(i!=r-1)dp[x][i][j] = min(dp[x][i][j],dp[x][i+1][j]+v[i][j]);
		    	dp[x][i][j] = min(dp[x][i][j],dp[x][i][j-1] + h[i][j-1]);
		    }
		}
	}
}

void init(int R, int C, int H[5000][200], int V[5000][200]) {
	r=R;
	c=C;
	for(int i=0;i<5000;i++)
		for(int j=0;j<200;j++){
			h[i][j]=H[i][j];
			v[i][j]=V[i][j];
		}
	build();
}

void changeH(int P, int Q, int W) {
	h[P][Q]=W;
	build();
}

void changeV(int P, int Q, int W) {
	v[P][Q]=W;
	build();
}

int escape(int V1, int V2) {
	if(dp[V2][0][V1] == 1e9)return 0;
    return dp[V2][0][V1];
}

Compilation message

grader.c: In function 'int main()':
grader.c:15:6: warning: variable 'res' set but not used [-Wunused-but-set-variable]
  int res;
      ^~~
wombats.cpp: In function 'void build()':
wombats.cpp:18:6: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
      for(int i=r-2;i>=0;i--)
      ^~~
wombats.cpp:21:3: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   for(int i=r-1;i>=0;i--){
   ^~~
# Verdict Execution time Memory Grader output
1 Correct 44 ms 16376 KB Output is correct
2 Correct 57 ms 16760 KB Output is correct
3 Correct 159 ms 19392 KB Output is correct
4 Correct 55 ms 19392 KB Output is correct
5 Correct 54 ms 19392 KB Output is correct
6 Correct 14 ms 19392 KB Output is correct
7 Correct 12 ms 19392 KB Output is correct
8 Correct 13 ms 19392 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 14 ms 19392 KB Output is correct
2 Correct 15 ms 19392 KB Output is correct
3 Correct 14 ms 19392 KB Output is correct
4 Incorrect 16 ms 19392 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1569 ms 19392 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 474 ms 26116 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1505 ms 26116 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1446 ms 26116 KB Output isn't correct
2 Halted 0 ms 0 KB -