CSES - Datatähti 2018 loppu - Results
Submission details
Task:Merkkijono
Sender:Uolevi
Submission time:2023-07-10 11:49:53 +0300
Language:C++ (C++17)
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED100
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails
#4ACCEPTED0.00 sdetails
#5ACCEPTED0.00 sdetails

Code

#include<bits/stdc++.h>
using namespace std;

int main() {
	string s;
	cin >> s;

	int n = s.size();

	int idx = 0;
	int c = 0;
	vector<string> ve;
	int co2 = 0;
	while (true) {
		if (s[idx % n] > s[(idx + 1) % n] && !(s[idx % n] == 'Z' && s[(idx+1) % n] == 'A')) {
			swap(s[idx % n], s[(idx + 1) % n]);
			ve.push_back("SWAP");
			c = 0;
		} else {
			idx--;
			if (idx < 0) idx += n;
			ve.push_back("MOVE");
			c++;
		}

		if (c >= 50 && s[idx % n] == 'A') break;
		co2++;
	}
	cout << ve.size() << "\n";
	for (auto u : ve) cout << u << "\n";
}

Test details

Test 1

Verdict: ACCEPTED

input
ABCDEFGHIJKLMNOPQRSTUVWXYZ

correct output
0

user output
52
MOVE
MOVE
MOVE
MOVE
...

Test 2

Verdict: ACCEPTED

input
ZYXWVUTSRQPONMLKJIHGFEDCBA

correct output
923
MOVE
MOVE
SWAP
MOVE
...

user output
925
SWAP
MOVE
MOVE
SWAP
...

Test 3

Verdict: ACCEPTED

input
RPJMFWBHYQOTXUAENLDGZISCVK

correct output
611
SWAP
MOVE
MOVE
SWAP
...

user output
709
SWAP
MOVE
MOVE
SWAP
...

Test 4

Verdict: ACCEPTED

input
GWJSPBHANMXYFLKIDORVUCEZQT

correct output
659
MOVE
SWAP
MOVE
SWAP
...

user output
749
MOVE
SWAP
MOVE
SWAP
...

Test 5

Verdict: ACCEPTED

input
BJYNFLKEIUCZMQHRAXOGWPSDTV

correct output
624
MOVE
SWAP
MOVE
SWAP
...

user output
676
MOVE
SWAP
MOVE
SWAP
...