CSES - KILO 2019 3/5 - Results
Submission details
Task:Labyrintti
Sender:hltk
Submission time:2019-05-15 17:37:44 +0300
Language:C++
Status:READY
Result:41
Feedback
groupverdictscore
#1ACCEPTED12
#2ACCEPTED29
#30
Test results
testverdicttimegroup
#1ACCEPTED0.03 s1details
#2ACCEPTED0.02 s1details
#3ACCEPTED0.02 s1details
#4ACCEPTED0.03 s1details
#5ACCEPTED0.02 s1details
#6ACCEPTED0.04 s2details
#7ACCEPTED0.05 s2details
#8ACCEPTED0.06 s2details
#9ACCEPTED0.05 s2details
#10ACCEPTED0.03 s2details
#110.03 s3details
#120.02 s3details
#130.03 s3details
#140.02 s3details
#150.02 s3details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:13:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < v.size() - 1; ++i) {
                  ~~^~~~~~~~~~~~~~
input/code.cpp:32:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int it = 0; it < q.size(); ++it) {
                   ~~~^~~~~~~~~~

Code

#include <bits/stdc++.h>
using namespace std;
#define N 1001
#define M 500
#define f first
#define s second
int d[N][N],z[N][N],l[N][N];
int main()
{
	typedef pair<int,int> pi;
	vector<pi> v = {{0,0},{0,2},{-4,2},{-4,-6},{12,-6},{12,26},{-52,26},{-52,-102},{204,-102},{204,410},{-500,410}};
	vector<pi> m = {{0,1},{1,0},{-1,0},{0,-1}};
	for (int i = 0; i < v.size() - 1; ++i) {
		pi a = v[i];
		pi b = v[i + 1];
		for (int y = min(a.f,b.f); y <= max(a.f,b.f); ++y) {
			for (int x = min(a.s,b.s); x <= max(a.s,b.s); ++x) {
				d[y + M][x + M] = 1;
			}
		}
	}
	int y1,x1,y2,x2;
	cin >> y1 >> x1 >> y2 >> x2;
	x1 += M; y1 += M;
	x2 += M; y2 += M;
	assert(!d[y1][x1]);
	assert(!d[y2][x2]);
	pi g = {y2,x2};
	vector<pi> q;
	q.emplace_back(y1,x1);
	l[y1][x1] = 1;
	for (int it = 0; it < q.size(); ++it) {
		pi u = q[it];
		if (u == g) {
			cout << z[u.f][u.s] << "\n";
			return 0;
		}
		for (pi x : m) {
			pi h = {u.f+x.f,u.s+x.s};
			if (min(h.f,h.s) < 0 || max(h.s,h.f) > 1000 || l[h.f][h.s] || d[h.f][h.s]) continue;
			z[h.f][h.s] = z[u.f][u.s] + 1;
			l[h.f][h.s] = 1;
			q.emplace_back(h.f,h.s);
		}
	}
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
6 -1 8 -2

correct output
3

user output
3

Test 2

Group: 1

Verdict: ACCEPTED

input
-8 2 8 -9

correct output
27

user output
27

Test 3

Group: 1

Verdict: ACCEPTED

input
3 2 -5 -1

correct output
13

user output
13

Test 4

Group: 1

Verdict: ACCEPTED

input
4 4 2 7

correct output
5

user output
5

Test 5

Group: 1

Verdict: ACCEPTED

input
-5 4 -6 -3

correct output
8

user output
8

Test 6

Group: 2

Verdict: ACCEPTED

input
-156 226 -9 7

correct output
438

user output
438

Test 7

Group: 2

Verdict: ACCEPTED

input
403 265 10 0

correct output
1100

user output
1100

Test 8

Group: 2

Verdict: ACCEPTED

input
146 462 9 -3

correct output
1160

user output
1160

Test 9

Group: 2

Verdict: ACCEPTED

input
223 82 -1 5

correct output
725

user output
725

Test 10

Group: 2

Verdict: ACCEPTED

input
1 390 -5 2

correct output
436

user output
436

Test 11

Group: 3

Verdict:

input
-540305713988379 -580514137141...

correct output
1233409841814111

user output
(empty)

Test 12

Group: 3

Verdict:

input
-156703691254895 -816797859965...

correct output
1086091541904259

user output
(empty)

Test 13

Group: 3

Verdict:

input
-438806811971369 -748477242640...

correct output
1299874045296142

user output
(empty)

Test 14

Group: 3

Verdict:

input
939351840049839 -9541207461566...

correct output
2118652567575152

user output
(empty)

Test 15

Group: 3

Verdict:

input
-840127817790022 1113515308437...

correct output
1007774343975947

user output
(empty)