답안 #60254

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
60254 2018-07-23T22:33:23 Z spencercompton 웜뱃 (IOI13_wombats) C++17
55 / 100
20000 ms 18272 KB
#include "wombats.h"
#include <bits/stdc++.h>
using namespace std;
int bel[5000][200];
int rig[5000][200];
int r, c;
bool v[5000][200];
pair<int, int> pre[200][200];
int upd = 0;
int sum = 0;
int vals[2][2];
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 j =0 ; j<c; j++){
			if(i+1<r){
				bel[i][j] = V[i][j];
				sum += V[i][j];
			}
			if(j+1<c){
				rig[i][j] = H[i][j];
			}
		}
	}
	for(int i = 0; i<c; i++){
		for(int j = 0; j<c; j++){
			pre[i][j] = make_pair(-1,-1);
		}
	}
}
 
void changeH(int P, int Q, int W) {
	rig[P][Q] = W;
	upd++;
}
 
void changeV(int P, int Q, int W) {
	sum += (W-bel[P][Q]);
	bel[P][Q] = W;
	upd++;
}
 
int escape(int V1, int V2) {
	if(c==1){
		return sum;
	}
	if(pre[V1][V2].second==upd){
		return pre[V1][V2].first;
	}
	for(int i = 0; i<r; i++){
		for(int j = 0; j<c; j++){
			v[i][j] = false;
		}
	}
	priority_queue<pair<int, pair<int, int> > > pq;
	pq.push(make_pair(0,make_pair(0,V1)));
	while(pq.size()>0){
		int zz = -pq.top().first;
		int y = pq.top().second.first;
		int x = pq.top().second.second;
		pq.pop();
		if(v[y][x]){
			continue;
		}
		v[y][x] = true;
		if(y==r-1){
			pre[V1][x] = make_pair(zz,upd);
			// continue;
		}
		int ny, nx;
		if(x>0){
			 ny = y;
			 nx = x-1; 
			if(!v[ny][nx]){
				pq.push(make_pair(-zz-rig[ny][nx],make_pair(ny,nx)));
			}
		}
		if(x<c-1){
			 ny = y;
			 nx = x+1;
			if(!v[ny][nx]){
				pq.push(make_pair(-zz-rig[y][x],make_pair(ny,nx)));
			}
		}
		if(y<r-1){
			 ny = y+1;
			 nx = x;
			if(!v[ny][nx]){
				pq.push(make_pair(-zz-bel[y][x],make_pair(ny,nx)));

			}
		}
	}
    return pre[V1][V2].first;
}

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 10 ms 8184 KB Output is correct
2 Correct 8 ms 8292 KB Output is correct
3 Correct 90 ms 9960 KB Output is correct
4 Correct 10 ms 9960 KB Output is correct
5 Correct 9 ms 9960 KB Output is correct
6 Correct 2 ms 9960 KB Output is correct
7 Correct 2 ms 9960 KB Output is correct
8 Correct 2 ms 9960 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 9960 KB Output is correct
2 Correct 2 ms 9960 KB Output is correct
3 Correct 2 ms 9960 KB Output is correct
4 Correct 4 ms 9960 KB Output is correct
5 Correct 3 ms 9960 KB Output is correct
6 Correct 4 ms 9960 KB Output is correct
7 Correct 5 ms 9960 KB Output is correct
8 Correct 5 ms 9960 KB Output is correct
9 Correct 5 ms 9960 KB Output is correct
10 Correct 5 ms 9960 KB Output is correct
11 Correct 100 ms 9960 KB Output is correct
12 Correct 4 ms 9960 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 169 ms 9960 KB Output is correct
2 Correct 331 ms 9960 KB Output is correct
3 Correct 284 ms 9960 KB Output is correct
4 Correct 268 ms 9960 KB Output is correct
5 Correct 262 ms 9960 KB Output is correct
6 Correct 3 ms 9960 KB Output is correct
7 Correct 3 ms 9960 KB Output is correct
8 Correct 3 ms 9960 KB Output is correct
9 Correct 170 ms 9960 KB Output is correct
10 Correct 3 ms 9960 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 977 ms 17412 KB Output is correct
2 Correct 2276 ms 17412 KB Output is correct
3 Correct 938 ms 17452 KB Output is correct
4 Correct 986 ms 18072 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 216 ms 18072 KB Output is correct
2 Correct 333 ms 18072 KB Output is correct
3 Correct 295 ms 18072 KB Output is correct
4 Correct 291 ms 18072 KB Output is correct
5 Correct 287 ms 18072 KB Output is correct
6 Correct 1054 ms 18072 KB Output is correct
7 Correct 2659 ms 18072 KB Output is correct
8 Correct 993 ms 18072 KB Output is correct
9 Correct 944 ms 18156 KB Output is correct
10 Correct 9 ms 18156 KB Output is correct
11 Correct 9 ms 18156 KB Output is correct
12 Correct 106 ms 18156 KB Output is correct
13 Correct 10 ms 18156 KB Output is correct
14 Correct 10 ms 18156 KB Output is correct
15 Correct 2 ms 18156 KB Output is correct
16 Correct 2 ms 18156 KB Output is correct
17 Correct 3 ms 18156 KB Output is correct
18 Correct 5 ms 18156 KB Output is correct
19 Correct 4 ms 18156 KB Output is correct
20 Correct 5 ms 18156 KB Output is correct
21 Correct 5 ms 18156 KB Output is correct
22 Correct 4 ms 18156 KB Output is correct
23 Correct 5 ms 18156 KB Output is correct
24 Correct 5 ms 18156 KB Output is correct
25 Correct 91 ms 18156 KB Output is correct
26 Correct 5 ms 18156 KB Output is correct
27 Correct 140 ms 18156 KB Output is correct
28 Execution timed out 20019 ms 18156 KB Time limit exceeded
29 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 181 ms 18156 KB Output is correct
2 Correct 304 ms 18156 KB Output is correct
3 Correct 249 ms 18156 KB Output is correct
4 Correct 288 ms 18156 KB Output is correct
5 Correct 240 ms 18156 KB Output is correct
6 Correct 1046 ms 18156 KB Output is correct
7 Correct 2736 ms 18156 KB Output is correct
8 Correct 1086 ms 18156 KB Output is correct
9 Correct 1103 ms 18272 KB Output is correct
10 Correct 10 ms 18272 KB Output is correct
11 Correct 10 ms 18272 KB Output is correct
12 Correct 94 ms 18272 KB Output is correct
13 Correct 10 ms 18272 KB Output is correct
14 Correct 10 ms 18272 KB Output is correct
15 Correct 1735 ms 18272 KB Output is correct
16 Execution timed out 20020 ms 18272 KB Time limit exceeded
17 Halted 0 ms 0 KB -