CSES - UKIEPC 2016 - Results
Submission details
Task:Compiler
Sender:Game of Nolife
Submission time:2016-11-12 16:20:15 +0200
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.06 sdetails
#2ACCEPTED0.06 sdetails
#3ACCEPTED0.05 sdetails
#4ACCEPTED0.05 sdetails
#5ACCEPTED0.05 sdetails
#6ACCEPTED0.05 sdetails
#7ACCEPTED0.06 sdetails
#8ACCEPTED0.05 sdetails
#9ACCEPTED0.06 sdetails
#10ACCEPTED0.06 sdetails
#11ACCEPTED0.06 sdetails
#12ACCEPTED0.05 sdetails
#13ACCEPTED0.06 sdetails
#14ACCEPTED0.05 sdetails
#15ACCEPTED0.06 sdetails
#16ACCEPTED0.06 sdetails
#17ACCEPTED0.06 sdetails
#18ACCEPTED0.06 sdetails
#19ACCEPTED0.05 sdetails
#20ACCEPTED0.06 sdetails

Code

#include <bits/stdc++.h>
#define F first
#define S second
#define X real()
#define Y imag()
using namespace std;
typedef long long ll;
typedef long double ld;

int main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	int n;
	cin>>n;
	if (__builtin_popcount(n)<7 || n==127) {
		if (n==0) {
			cout<<"ZE A\nDI A\n";
			return 0;
		}
		if (n==1) {
			cout<<"ST A\nDI A\n";
			return 0;
		}
		int hlp=0;
		cout<<"ST X\n";
		hlp++;
		vector<int> asd;
		while (n) {
			asd.push_back(n%2);
			n/=2;
		}
		reverse(asd.begin(),asd.end());
		cout<<"PH X\nPH X\nAD\n";
		hlp+=3;
		if (asd[1]==1) {
			cout<<"PH X\nAD\n";
			hlp+=2;
		}
		cout<<"PL Y\n";
		hlp++;
		for (unsigned int j=2;j<asd.size();j++) {
			cout<<"PH Y\nPH Y\nAD\n";
			hlp+=3;
			if (asd[j]==1) {
				cout<<"PH X\nAD\n";
				hlp+=2;
			}
			cout<<"PL Y\n";
			hlp++;
		}
		hlp++;
		cout<<"DI Y\n";
//		cerr<<hlp<<endl;
	}
	if (n==255) {
		cout<<"ST X\n";
		cout<<"PH X\nPH X\nPH X\nAD\nAD\n";
		cout<<"PL Y\n";
		cout<<"PH Y\nPH Y\nAD\n";
		cout<<"PL X\n";
		cout<<"PH X\nPH X\nAD\n";
		cout<<"PH Y\nAD\n";
		cout<<"PL Y\n";
		cout<<"PH Y\nPH Y\nAD\nPL X\n";
		cout<<"PH X\nPH X\nAD\nPL X\n";
		cout<<"PH X\nPH X\nAD\nPL X\n";
		cout<<"PH X\nPH X\nAD\nPH Y\nAD\nPL A\n";
		cout<<"DI A\n";
	}
	if (n==254) {
		cout<<"ST X\n";
		cout<<"PH X\nPH X\nPH X\nAD\nAD\n";
		cout<<"PL Y\n";
		cout<<"PH Y\nPH Y\nPH X\nAD\nAD\n";
		cout<<"PL A\n";
		cout<<"PH A\nPH A\nAD\n";
		cout<<"PL Y\n";
		cout<<"PH Y\nPH Y\nAD\n";
		cout<<"PL Y\n";
		cout<<"PH Y\nPH Y\nAD\nPH A\nAD\n";
		cout<<"PL Y\n";
		cout<<"PH Y\nPH Y\nAD\nPH X\n AD\n";
		cout<<"PL Y\n";
		cout<<"PH Y\nPH Y\nAD\n";
		cout<<"PL A\n";
		cout<<"DI A\n";
	}
	if (n==253) {
		cout<<"ST X\n";
		cout<<"PH X\nPH X\nPH X\nAD\nAD\n";
		cout<<"PL Y\n";
		cout<<"PH Y\nPH Y\nPH X\nAD\nAD\n";
		cout<<"PL A\n";
		cout<<"PH A\nPH A\nAD\n";
		cout<<"PL Y\n";
		cout<<"PH Y\nPH Y\nAD\n";
		cout<<"PL Y\n";
		cout<<"PH Y\nPH Y\nAD\nPH A\nAD\n";
		cout<<"PL Y\n";
		cout<<"PH Y\nPH Y\nAD\n";
		cout<<"PL Y\n";
		cout<<"PH Y\nPH Y\nAD\nPH X\n AD\n";
		cout<<"PL A\n";
		cout<<"DI A\n";
	}
	if (n==251) {
		cout<<"ST X\n";
		cout<<"PH X\nPH X\nPH X\nAD\nAD\n";
		cout<<"PL Y\n";
		cout<<"PH Y\nPH Y\nPH X\nAD\nAD\n";
		cout<<"PL A\n";
		cout<<"PH A\nPH A\nAD\n";
		cout<<"PL A\n";
		cout<<"PH A\nPH A\nAD\nPH Y\nAD\n";
		cout<<"PL A\n";
		cout<<"PH A\nPH A\nAD\n";
		cout<<"PL A\n";
		cout<<"PH A\nPH A\nAD\n";
		cout<<"PL A\n";
		cout<<"PH A\nPH A\nAD\nPH Y\n AD\n";
		cout<<"PL A\n";
		cout<<"DI A\n";
	}
	if (n==247) {
		cout<<"ST X\n";
		cout<<"PH X\nPH X\nPH X\nAD\nAD\n";
		cout<<"PL Y\n";
		cout<<"PH Y\nPH Y\nAD\n";
		cout<<"PL A\n";
		cout<<"PH A\nPH A\nAD\nPH Y\nAD\n";
		cout<<"PL A\n";
		cout<<"PH A\nPH A\nAD\n";
		cout<<"PL A\n";
		cout<<"PH A\nPH A\nAD\n";
		cout<<"PL A\n";
		cout<<"PH A\nPH A\nAD\nPH Y\nAD\n";
		cout<<"PL A\n";
		cout<<"PH A\nPH A\nAD\nPH X\n AD\n";
		cout<<"PL A\n";
		cout<<"DI A\n";
	}
	if (n==239) {
		cout<<"ST X\n";
		cout<<"PH X\nPH X\nPH X\nAD\nAD\n";
		cout<<"PL Y\n";
		cout<<"PH Y\nPH Y\nAD\nPH X\nAD\n";
		cout<<"PL Y\n";
		cout<<"PH Y\nPH Y\nAD\n";
		cout<<"PL A\n";
		cout<<"PH A\nPH A\nAD\nPH X\nAD\n";
		cout<<"PL A\n";
		cout<<"PH A\nPH A\nAD\n";
		cout<<"PL A\n";
		cout<<"PH A\nPH A\nAD\n";
		cout<<"PL A\n";
		cout<<"PH A\nPH A\nAD\nPH Y\n AD\n";
		cout<<"PL A\n";
		cout<<"DI A\n";
	}
	if (n==223) {
		cout<<"ST X\n";
		cout<<"PH X\nPH X\nPH X\nAD\nAD\n";
		cout<<"PL Y\n";
		cout<<"PH Y\nPH Y\nAD\n";
		cout<<"PL A\n";
		cout<<"PH A\nPH A\nAD\nPH X\nAD\n";
		cout<<"PL A\n";
		cout<<"PH A\nPH A\nAD\n";
		cout<<"PL A\n";
		cout<<"PH A\nPH A\nAD\nPH Y\nAD\n";
		cout<<"PL A\n";
		cout<<"PH A\nPH A\nAD\n";
		cout<<"PL A\n";
		cout<<"PH A\nPH A\nAD\nPH Y\nAD\n";
		cout<<"PL A\n";
		cout<<"DI A\n";
	}
	if (n==191) {
		cout<<"ST X\n";
		cout<<"PH X\nPH X\nPH X\nAD\nAD\n";
		cout<<"PL Y\n";
		cout<<"PH Y\nPH Y\nPH X\nAD\nAD\n";
		cout<<"PL Y\n";
		cout<<"PH Y\nPH Y\nAD\n";
		cout<<"PL A\n";
		cout<<"PH A\nPH A\nAD\n";
		cout<<"PL A\n";
		cout<<"PH A\nPH A\nPH Y\nAD\nAD\n";
		cout<<"PL A\n";
		cout<<"PH A\nPH X\nAD\n";
		cout<<"PL X\n";
		cout<<"PH X\nPH X\nAD\nPH A\nAD\n";
		cout<<"PL A\nDI A\n";
	}
}

Test details

Test 1

Verdict: ACCEPTED

input
1

correct output
ST X
ST A
DI A

user output
ST A
DI A

Test 2

Verdict: ACCEPTED

input
63

correct output
ST X
ST A
PH A
PH A
PH A
...

user output
ST X
PH X
PH X
AD
PH X
...

Test 3

Verdict: ACCEPTED

input
127

correct output
ST X
ST A
PH A
PH A
PH A
...

user output
ST X
PH X
PH X
AD
PH X
...

Test 4

Verdict: ACCEPTED

input
65

correct output
ST X
PH X
PH X
AD
PL A
...

user output
ST X
PH X
PH X
AD
PL Y
...

Test 5

Verdict: ACCEPTED

input
192

correct output
ST X
ST A
PH A
PH A
AD
...

user output
ST X
PH X
PH X
AD
PH X
...

Test 6

Verdict: ACCEPTED

input
254

correct output
ST X
ST A
PH A
PH A
PH A
...

user output
ST X
PH X
PH X
PH X
AD
...

Test 7

Verdict: ACCEPTED

input
11

correct output
ST X
PH X
PH X
AD
PL A
...

user output
ST X
PH X
PH X
AD
PL Y
...

Test 8

Verdict: ACCEPTED

input
99

correct output
ST X
PH X
PH X
AD
PL A
...

user output
ST X
PH X
PH X
AD
PH X
...

Test 9

Verdict: ACCEPTED

input
4

correct output
ST X
PH X
PH X
AD
PL A
...

user output
ST X
PH X
PH X
AD
PL Y
...

Test 10

Verdict: ACCEPTED

input
239

correct output
ST X
PH X
PH X
AD
PL A
...

user output
ST X
PH X
PH X
PH X
AD
...

Test 11

Verdict: ACCEPTED

input
6

correct output
ST X
ST A
PH A
PH A
AD
...

user output
ST X
PH X
PH X
AD
PH X
...

Test 12

Verdict: ACCEPTED

input
7

correct output
ST X
ST A
PH A
PH A
AD
...

user output
ST X
PH X
PH X
AD
PH X
...

Test 13

Verdict: ACCEPTED

input
245

correct output
ST X
ST A
PH A
PH A
PH A
...

user output
ST X
PH X
PH X
AD
PH X
...

Test 14

Verdict: ACCEPTED

input
200

correct output
ST X
ST A
PH A
PH A
AD
...

user output
ST X
PH X
PH X
AD
PH X
...

Test 15

Verdict: ACCEPTED

input
255

correct output
ST X
PH X
PH X
AD
PL A
...

user output
ST X
PH X
PH X
PH X
AD
...

Test 16

Verdict: ACCEPTED

input
251

correct output
ST X
ST A
PH A
PH A
PH A
...

user output
ST X
PH X
PH X
PH X
AD
...

Test 17

Verdict: ACCEPTED

input
133

correct output
ST X
PH X
PH X
AD
PL A
...

user output
ST X
PH X
PH X
AD
PL Y
...

Test 18

Verdict: ACCEPTED

input
128

correct output
ST X
PH X
PH X
AD
PL A
...

user output
ST X
PH X
PH X
AD
PL Y
...

Test 19

Verdict: ACCEPTED

input
15

correct output
ST X
PH X
PH X
AD
PL A
...

user output
ST X
PH X
PH X
AD
PH X
...

Test 20

Verdict: ACCEPTED

input
0

correct output
ZE A
DI A

user output
ZE A
DI A