Submission #245737


Source Code Expand

#include <algorithm>
#include <cassert>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <map>
#include <set>
#include <string>
#include <vector>

#define REP(i,s,n) for(int i=(int)(s);i<(int)(n);i++)

using namespace std;
typedef long long int ll;
const double EPS=1e-9;

const int N=10010;

int n;
int r[N];

vector<int> pile[3];
vector<pair<int,int> > motions;

void mv(int a,int b) {
	motions.push_back(pair<int,int>(a,b));
	int t = pile[a-1].back();
	pile[a-1].pop_back();
	pile[b-1].push_back(t);
}
int top(int a) {
	return pile[a-1].back();
}

void out() {
	cout << motions.size() << endl;
	REP(i,0,motions.size()) {
		pair<int,int> r = motions[i];
		cout << r.first << " "  << r.second << endl;
	}
}

void qs(int st,int en,int from, int d) {
	if(en <= st) {
		return;
	}
	int piv = (st + en + 1) / 2;
	int d1 = from % 3 + 1;
	int d2 = (from + 1) % 3 + 1;
	REP(c,st,en+1) {
		int t = top(from);
		if(t >= piv) {
			mv(from, d2);
		} else {
			mv(from, d1);
		}
	}
	qs(st,piv-1,d1,1-d);
	qs(piv,en,d2,1-d);
	if(!d) {
		REP(i,piv,en+1) mv(d2,from);
		REP(i,st, piv) mv(d1, from);
	} else {
		REP(i,st,piv) mv(d1,from);
		REP(i,piv,en+1) mv(d2,from);
	}
}

int main(void){
	cin>>n;
	REP(i,0,n) {
		cin>>r[i];
		pile[0].push_back(r[i]);
	}
	qs(1,n,1,0);
	out();
}

Submission Info

Submission Time
Task G - ノイハの塔
User kobae964
Language C++ (G++ 4.6.4)
Score 30
Code Size 1379 Byte
Status WA
Exec Time 816 ms
Memory 5220 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 30 / 30 0 / 70
Status
AC × 2
AC × 21
AC × 25
WA × 15
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
Subtask1 sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt
Subtask2 sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt
Case Name Status Exec Time Memory
sample_01.txt AC 26 ms 924 KB
sample_02.txt AC 25 ms 936 KB
subtask1_01.txt AC 28 ms 828 KB
subtask1_02.txt AC 37 ms 1012 KB
subtask1_03.txt AC 30 ms 928 KB
subtask1_04.txt AC 29 ms 860 KB
subtask1_05.txt AC 30 ms 1052 KB
subtask1_06.txt AC 41 ms 956 KB
subtask1_07.txt AC 40 ms 1056 KB
subtask1_08.txt AC 31 ms 932 KB
subtask1_09.txt AC 37 ms 952 KB
subtask1_10.txt AC 41 ms 988 KB
subtask1_11.txt AC 48 ms 1056 KB
subtask1_12.txt AC 43 ms 960 KB
subtask1_13.txt AC 43 ms 1060 KB
subtask1_14.txt AC 47 ms 992 KB
subtask1_15.txt AC 44 ms 956 KB
subtask1_16.txt AC 47 ms 956 KB
subtask1_17.txt AC 44 ms 1064 KB
subtask1_18.txt AC 45 ms 956 KB
subtask1_19.txt AC 43 ms 992 KB
subtask2_01.txt AC 263 ms 2000 KB
subtask2_02.txt AC 158 ms 1488 KB
subtask2_03.txt AC 173 ms 1492 KB
subtask2_04.txt AC 507 ms 3140 KB
subtask2_05.txt WA 766 ms 5196 KB
subtask2_06.txt WA 705 ms 5220 KB
subtask2_07.txt WA 816 ms 5160 KB
subtask2_08.txt WA 756 ms 5168 KB
subtask2_09.txt WA 800 ms 5164 KB
subtask2_10.txt WA 768 ms 5164 KB
subtask2_11.txt WA 766 ms 5168 KB
subtask2_12.txt WA 772 ms 5164 KB
subtask2_13.txt WA 747 ms 5164 KB
subtask2_14.txt WA 761 ms 5160 KB
subtask2_15.txt WA 802 ms 5164 KB
subtask2_16.txt WA 743 ms 5208 KB
subtask2_17.txt WA 788 ms 5140 KB
subtask2_18.txt WA 740 ms 5168 KB
subtask2_19.txt WA 672 ms 5168 KB