CSES - Datatähti 2025 loppu - Results
Submission details
Task:Suunnistus
Sender:a256
Submission time:2025-01-18 13:52:17 +0200
Language:C++ (C++11)
Status:READY
Result:31
Feedback
groupverdictscore
#1ACCEPTED31
#20
#30
Test results
testverdicttimegroup
#10.00 s3details
#2ACCEPTED0.02 s1, 2, 3details
#3ACCEPTED0.02 s1, 2, 3details
#4ACCEPTED0.01 s1, 2, 3details
#5ACCEPTED0.01 s1, 2, 3details
#6ACCEPTED0.00 s1, 2, 3details
#70.02 s2, 3details
#80.02 s2, 3details
#9ACCEPTED0.01 s2, 3details
#10ACCEPTED0.02 s3details
#11ACCEPTED0.02 s3details
#12ACCEPTED0.01 s3details
#130.02 s3details
#140.02 s2, 3details
#15ACCEPTED0.01 s3details
#16ACCEPTED0.00 s3details
#170.02 s2, 3details

Code

#include <bits/stdc++.h>
using namespace std;
#define N 501
#define F first
#define S second
#define INF INT_MAX
int n,m,k,d[N][N][11];
string t[N];
queue<pair<int,int>> q;
void haku(int c,int k){
	for(int i=0;i<n;++i){
		for(int j=0;j<m;++j){
			if(t[i][j]==c){
				if(k=='S') d[i][j][0]=0;
				else d[i][j][k]=d[i][j][k-1];
				q.push({i,j});
			}
		}
	}
}
int main(){
	cin.tie(0)->sync_with_stdio(0);
	cin>>n>>m>>k;
	for(int i=0;i<n;++i) cin>>t[i];
	for(int i=0;i<n;++i){
		for(int j=0;j<m;++j){
			for(int t=0;t<10;++t){
				d[i][j][t]=INF;
			}
		}
	}

	haku('S',0);
	while(q.size()){
		auto p=q.front(); q.pop();
		int i=p.F,j=p.S;
		int D=d[i][j][0];
		if(i&&t[i-1][j]!='#'&&d[i-1][j][0]==INF){
			d[i-1][j][0]=D+1;
			q.push({i-1,j});
		}
		if(i<n-1&&t[i+1][j]!='#'&&d[i+1][j][0]==INF){
			d[i+1][j][0]=D+1;
			q.push({i+1,j});
		}
		if(j&&t[i][j-1]!='#'&&d[i][j-1][0]==INF){
			d[i][j-1][0]=D+1;
			q.push({i,j-1});
		}
		if(j<m-1&&t[i][j+1]!='#'&&d[i][j+1][0]==INF){
			d[i][j+1][0]=D+1;
			q.push({i,j+1});
		}
	}

	for(int i=0;i<n;++i){
		for(int j=0;j<m;++j){
			if(t[i][j]=='E'){
				if(d[i][j][0]==INF) cout<<"-1\n";
				else cout<<d[i][j][0]<<'\n';
				return 0;
			}
		}
	}
}

Test details

Test 1

Group: 3

Verdict:

input
10 10 9
S293#35616
#662963731
54975451#7
5162589168
...

correct output
25

user output
15

Test 2

Group: 1, 2, 3

Verdict: ACCEPTED

input
500 500 0
.................................

correct output
301

user output
301

Test 3

Group: 1, 2, 3

Verdict: ACCEPTED

input
500 500 0
.#.........#.#..##..#............

correct output
253

user output
253

Test 4

Group: 1, 2, 3

Verdict: ACCEPTED

input
500 500 0
...#......##.##.#.#..##..#..##...

correct output
-1

user output
-1

Test 5

Group: 1, 2, 3

Verdict: ACCEPTED

input
500 1 0
.
.
.
.
...

correct output
77

user output
77

Test 6

Group: 1, 2, 3

Verdict: ACCEPTED

input
1 500 0
.................................

correct output
166

user output
166

Test 7

Group: 2, 3

Verdict:

input
500 500 9
.................................

correct output
3447

user output
249

Test 8

Group: 2, 3

Verdict:

input
500 500 9
.#........#..................#...

correct output
4952

user output
234

Test 9

Group: 2, 3

Verdict: ACCEPTED

input
500 500 9
##.########.##########.#..#......

correct output
-1

user output
-1

Test 10

Group: 3

Verdict: ACCEPTED

input
500 500 9
623475428948841896621266296765...

correct output
205

user output
205

Test 11

Group: 3

Verdict: ACCEPTED

input
500 500 9
7##814125813#3463#272134469457...

correct output
157

user output
157

Test 12

Group: 3

Verdict: ACCEPTED

input
500 500 9
##67##36##5#3###67###8972#61##...

correct output
-1

user output
-1

Test 13

Group: 3

Verdict:

input
500 500 9
....................#...#........

correct output
1313

user output
539

Test 14

Group: 2, 3

Verdict:

input
499 499 9
S#...#...#...#...#...#...#...#...

correct output
1124942

user output
124998

Test 15

Group: 3

Verdict: ACCEPTED

input
500 1 9
1
6
1
3
...

correct output
332

user output
332

Test 16

Group: 3

Verdict: ACCEPTED

input
1 500 9
996327784392827829434482995353...

correct output
135

user output
135

Test 17

Group: 2, 3

Verdict:

input
500 500 9
.................................

correct output
-1

user output
453