CSES - Datatähti 2018 loppu - Results
Submission details
Task:Merkkijono
Sender:Katajisto
Submission time:2018-01-18 15:50:07 +0200
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
Test results
testverdicttime
#1ACCEPTED0.06 sdetails
#20.00 sdetails
#30.00 sdetails
#40.00 sdetails
#50.00 sdetails

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++)
                   ^
input/code.cpp: In function 'int main()':
input/code.cpp:31:7: warning: unused variable 'last' [-Wunused-variable]
  bool last = false;
       ^

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()
{
//	cout << abs('A' - 'B') << "\n";
//	cout << abs('A' - 'C') << "\n";
	vector<string> move;
	string s; cin >> s;
        srand(time(NULL));
	bool last = false;
	int counter = 0;
	while(!order(s))
	{
  		 counter++;
		 if(counter == 26)
		 {
			move.push_back("MOVE");
			move.push_back("MOVE");
			s = to(s);
			s = to(s);
			counter = 0;
		 }
		 if(s[0] > s[1])
		 {
			char tt = s[0];
			move.push_back("SWAP");
			s[0] = s[1];
			s[1] = tt;
			move.push_back("MOVE");
			s = to(s);
		 }
		 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)