답안 #71368

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
71368 2018-08-24T12:27:34 Z tamtam 웜뱃 (IOI13_wombats) C++14
37 / 100
6081 ms 16900 KB
#include "wombats.h"
#include <bits/stdc++.h>
#define F first
#define S seoncd
typedef long long ll;
using namespace std;

int r,c,sum;
int h[5010][210];
int v[5010][210];
int dp[110][110][3];
int en;

int Solve (int x,int y,int d){
    if (x==r-1&&y==en){
        return 0;
    }
    int &res=dp[x][y][d];
    if (res!=-1)return res;
    res=1000000000;
    if (y>0&&d!=2){
        res=min(res,Solve(x,y-1,1)+h[x][y-1]);
    }
    if (y<c-1&&d!=1){
        res=min(res,Solve(x,y+1,2)+h[x][y]);
    }
    if (x<r-1)
        res=min(res,Solve(x+1,y,0)+v[x][y]);
    return res;
}

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

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

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

int escape(int V1, int V2) {

    if (c==1){
        return sum;
    }

    memset(dp,-1,sizeof dp);
    en=V2;
    return Solve(0,V1,0);
}
/*

3 4
0 2 5
7 1 1
0 4 0
0 0 0 2
0 3 4 7
5
3 2 1
3 3 3
2 0 0 5
1 1 1 6
3 2 1

*/

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;
      ^~~
# 결과 실행 시간 메모리 Grader output
1 Correct 11 ms 8312 KB Output is correct
2 Correct 9 ms 8444 KB Output is correct
3 Correct 90 ms 9996 KB Output is correct
4 Correct 8 ms 9996 KB Output is correct
5 Correct 10 ms 9996 KB Output is correct
6 Correct 2 ms 9996 KB Output is correct
7 Correct 2 ms 9996 KB Output is correct
8 Correct 2 ms 9996 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 9996 KB Output is correct
2 Correct 2 ms 9996 KB Output is correct
3 Correct 2 ms 9996 KB Output is correct
4 Correct 15 ms 9996 KB Output is correct
5 Correct 14 ms 9996 KB Output is correct
6 Correct 19 ms 9996 KB Output is correct
7 Correct 17 ms 9996 KB Output is correct
8 Correct 14 ms 9996 KB Output is correct
9 Correct 24 ms 9996 KB Output is correct
10 Correct 13 ms 9996 KB Output is correct
11 Correct 6081 ms 9996 KB Output is correct
12 Correct 14 ms 9996 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 64 ms 9996 KB Output is correct
2 Correct 67 ms 9996 KB Output is correct
3 Correct 66 ms 9996 KB Output is correct
4 Correct 77 ms 9996 KB Output is correct
5 Correct 66 ms 9996 KB Output is correct
6 Correct 3 ms 9996 KB Output is correct
7 Correct 2 ms 9996 KB Output is correct
8 Correct 2 ms 9996 KB Output is correct
9 Correct 84 ms 9996 KB Output is correct
10 Correct 2 ms 9996 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 30 ms 16900 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 71 ms 16900 KB Output is correct
2 Correct 77 ms 16900 KB Output is correct
3 Correct 65 ms 16900 KB Output is correct
4 Correct 65 ms 16900 KB Output is correct
5 Correct 62 ms 16900 KB Output is correct
6 Incorrect 29 ms 16900 KB Output isn't correct
7 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 102 ms 16900 KB Output is correct
2 Correct 79 ms 16900 KB Output is correct
3 Correct 75 ms 16900 KB Output is correct
4 Correct 90 ms 16900 KB Output is correct
5 Correct 77 ms 16900 KB Output is correct
6 Incorrect 31 ms 16900 KB Output isn't correct
7 Halted 0 ms 0 KB -