程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> Good Bye 2013---B. New Year Present

Good Bye 2013---B. New Year Present

編輯:C++入門知識

Good Bye 2013---B. New Year Present


New Year Present
time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output

The New Year is coming! That's why many people today are busy preparing New Year presents. Vasily the Programmer is no exception.

Vasily knows that the best present is (no, it's not a contest) money. He's put n empty wallets from left to right in a row and decided how much money to put in what wallet. Vasily decided to put ai coins to the i-th wallet from the left.

Vasily is a very busy man, so the money are sorted into the bags by his robot. Initially, the robot stands by the leftmost wallet in the row. The robot can follow instructions of three types: go to the wallet that is to the left of the current one (if such wallet exists), go to the wallet that is to the right of the current one (if such wallet exists), put a coin to the current wallet. Due to some technical malfunctions the robot cannot follow two "put a coin" instructions in a row.

Vasily doesn't want to wait for long, so he wants to write a program for the robot that contains at most 106 operations (not necessarily minimum in length) the robot can use to put coins into the wallets. Help him.

Input

The first line contains integer n (2?≤?n?≤?300) — the number of wallets. The next line contains n integers a1,?a2,?...,?an (0?≤?ai?≤?300).

It is guaranteed that at least one ai is positive.

Output

Print the sequence that consists of k (1?≤?k?≤?106) characters, each of them equals: "L", "R" or "P". Each character of the sequence is an instruction to the robot. Character "L" orders to move to the left, character "R" orders to move to the right, character "P" orders the robot to put a coin in the wallet. The robot is not allowed to go beyond the wallet line. In other words, you cannot give instructions "L" if the robot is at wallet 1, or "R" at wallet n.

As a result of the performed operations, the i-th wallet from the left must contain exactly ai coins. If there are multiple answers, you can print any of them.

Sample test(s) input
2
1 2
output
PRPLRP
input
4
0 2 0 2
output
RPRRPLLPLRRRP




解題思路:對於第個位置,先判斷糖果數是否大於0,若大於,則先輸出'P',再重復判斷,若等於0,則輸出'R',同時往後移。當一個位置上糖果數大於1時,輸出第二個及以上糖果時,有兩種方式回到原地,'PL'和‘LP’,這個要判斷一下在邊界的情況,要保證機器人不能出界。





AC代碼:

#include 
#include 
using namespace std;

int a[305];

int main(){
//	freopen("in.txt","r",stdin);
	int n;
	while(cin>>n){
		for(int i=0; i>a[i];
		for(int j=0; j 0){
				if(k){
					if(j == n-1)  cout<<"LR";
					else cout<<"RL";
				} 
				cout<<"P";
				a[j] --;
				k ++;
			}
			if(j < n-1)  cout<<"R";
		}
		cout<




  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved