CSES - Datatähti 2015 loppu - Results
Submission details
Task:Ruudukko
Sender:juhoh
Submission time:2015-01-29 15:07:49 +0200
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.05 s1details
#2ACCEPTED0.06 s1details
#30.07 s1details
#40.06 s1details
#50.06 s1details
#6ACCEPTED0.06 s2details
#70.07 s2details
#80.06 s2details
#90.06 s2details
#100.07 s2details
#11ACCEPTED0.50 s3details
#120.50 s3details
#130.50 s3details
#140.51 s3details
#150.57 s3details

Code

#include <iostream>
#include <string>
#include <cmath>
#include <cstdio>
#include <algorithm>

using namespace std;

typedef int ll;

ll n;
ll t;

int main() {

	ios_base::sync_with_stdio(false);

	cin >> n;
	t = n*n;

	ll ruudut[t];
	ll dirs[t];

	string line;
	for (ll i = 0; i < t; ++i) {
		static char temp;
		cin >> temp;
		ruudut[i] = temp - 'A';
	}

	for (ll k = 0; k < 2 * n; ++k) {
		for (ll x = 0; x < n; ++x) {
			for (ll y = 0; y < n; ++y) {
				if (x + y != k) continue;
				ll i = y * n + x;
				if (i % n == 0 && i / n == 0) {
					dirs[i] = 2;
				} else if (i % n == 0) {
					dirs[i] = 1;
				} else if (i / n == 0) {
					dirs[i] = 0;
				} else {
					ll vert = ruudut[i - n];
					ll hori = ruudut[i - 1];
					if (vert < hori) {
						dirs[i] = 1;
					} else {
						dirs[i] = 0;
					}
				}
			}
		}
	}

	char res[2 * n - 1];
	ll j = 2 * n - 2;
	ll i = t - 1;
	res[0] = ruudut[0] + 'A';
	while (i != 0) {
		res[j] = ruudut[i] + 'A';
		--j;
		if (dirs[i] == 0) {
			i -= 1;
		} else if (dirs[i] == 1) {
			i -= n;
		}
	}

	for (int i = 0; i < 2 * n - 1; ++i) {
		cout << res[i];
	}
	cout << '\n';

	return 0;
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
5
AAAAA
AAAAA
AAAAA
AAAAA
...

correct output
AAAAAAAAB

user output
AAAAAAAAB

Test 2

Group: 1

Verdict: ACCEPTED

input
5
ABABA
BABAB
ABABA
BABAB
...

correct output
ABABABABA

user output
ABABABABA

Test 3

Group: 1

Verdict:

input
5
WRYIU
TWLKH
UJMJC
GRDJW
...

correct output
WRWJMDJWK

user output
WRYIKHCWK

Test 4

Group: 1

Verdict:

input
5
RUEAE
ZYHHW
KDBPD
DXREW
...

correct output
RUEAEWDWX

user output
RZKDBPEGX

Test 5

Group: 1

Verdict:

input
5
SRGYR
MYDOB
GNOVM
SZOZK
...

correct output
SMGNOOLTU

user output
SRGDOBMKU

Test 6

Group: 2

Verdict: ACCEPTED

input
100
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

user output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

Test 7

Group: 2

Verdict:

input
100
ABABABABABABABABABABABABABABAB...

correct output
ABABABABABABABABABABABABABABAB...

user output
ABABABABABABABABABABABABABABAB...

Test 8

Group: 2

Verdict:

input
100
FWOVNYKNMMQCNHJGUYPNEDXGVVGONC...

correct output
FWDBDECKBHKIACOVUCJGDJOHAYIBHO...

user output
FWDBDECKBKFIAECTUCJGOAOHAYIDHI...

Test 9

Group: 2

Verdict:

input
100
ETGCJABWKMAAEOQXWFFYMDJBMNKMQK...

correct output
EAARGLBRLHCDHHBPABHDAJBEEBHQBE...

user output
EAARGLYSIHQCMBJHCAEGCIHOFKDNPF...

Test 10

Group: 2

Verdict:

input
100
GNWMLJNHSBAADUFCSGIZMWHZTVDHNR...

correct output
GEGOFRDKBNLLEUOPOEQCEFMTKANLNC...

user output
GEGXCGEDKFKFJODBEGHKFLFBLNKDDH...

Test 11

Group: 3

Verdict: ACCEPTED

input
500
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

user output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

Test 12

Group: 3

Verdict:

input
500
ABABABABABABABABABABABABABABAB...

correct output
ABABABABABABABABABABABABABABAB...

user output
ABABABABABABABABABABABABABABAB...

Test 13

Group: 3

Verdict:

input
500
HGADXTSFXYIEMDWMFIVQGHTACFUPYI...

correct output
HGADEJOGAKPJCRAHTABRSDLAVGBFAG...

user output
HTYSAYZJIIKFMNUNZHWRECRLQOZAPI...

Test 14

Group: 3

Verdict:

input
500
SBLNMAZESQVGWAPZYHQJMQTNGMEZWS...

correct output
SBLCAMDHILGIDRCIDUNMMAHFYCENOS...

user output
SETUPPBFFFARKBIYAQKNUIJDOHKVTR...

Test 15

Group: 3

Verdict:

input
500
AOXYXRYFWPYWQDPWXQITLHQQUAYZAJ...

correct output
AOJLDOAPBGEKSGCNKBUMKAJCCWCOOD...

user output
AQLXKNXBDRHSXLAGSCPCRLEIXGBCQM...