CSES - Datatähti 2018 loppu - Results
Submission details
Task:Merkkijono
Sender:Katajisto
Submission time:2018-01-18 13:28:42 +0200
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
Test results
testverdicttime
#1ACCEPTED0.04 sdetails
#2--details
#3--details
#4--details
#5--details

Compiler report

input/code.cpp: In function 'bool order(std::string)':
input/code.cpp:5:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 1; i < s.length(); i++)
                   ^
input/code.cpp: In function 'std::string to(std::string)':
input/code.cpp:16:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 1; i < s.length(); i++)
                   ^

Code

#include<bits/stdc++.h>
using namespace std;
bool order(string s)
{
	for(int i = 1; i < s.length(); i++)
	{
		if(s[i-1] > s[i]) return false;
	}
	return true;
}
string to(string s)
{
	char last = s[s.length()-1];
	char temp = s[0];
	s[0] = last;
	for(int i = 1; i < s.length(); i++)
	{
		char tt = s[i];
		s[i] = temp;
		temp = tt;
	}
	return s;
}
int main()
{
	vector<string> move;
	string s; cin >> s;
	bool last = false;
	while(!order(s))
	{
		if(s[s.length()-1] < s[0])
		{
			move.push_back("MOVE");
			s = to(s);
		}
		if(s[0] > s[1])
		{
			move.push_back("SWAP");
			char temp = s[0];
			s[0] = s[1];
			s[1] = temp;
		}
		else
		{
			if(last == false)
			{
				move.push_back("SWAP");
				char temp = s[0];
				s[0] = s[1];
				s[1] = temp;
				last = true;
			}
			else
			{
				move.push_back("MOVE");
				s = to(s);
				last = false;
			}	
		}
	//	cout << s << "\n";
		}
	cout << move.size() << "\n";
	for(string s : move)
	{
		cout << s << "\n";
	}
}

Test details

Test 1

Verdict: ACCEPTED

input
ABCDEFGHIJKLMNOPQRSTUVWXYZ

correct output
0

user output
0

Test 2

Verdict:

input
ZYXWVUTSRQPONMLKJIHGFEDCBA

correct output
923
MOVE
MOVE
SWAP
MOVE
...

user output
(empty)

Test 3

Verdict:

input
RPJMFWBHYQOTXUAENLDGZISCVK

correct output
611
SWAP
MOVE
MOVE
SWAP
...

user output
(empty)

Test 4

Verdict:

input
GWJSPBHANMXYFLKIDORVUCEZQT

correct output
659
MOVE
SWAP
MOVE
SWAP
...

user output
(empty)

Test 5

Verdict:

input
BJYNFLKEIUCZMQHRAXOGWPSDTV

correct output
624
MOVE
SWAP
MOVE
SWAP
...

user output
(empty)