列表

详情


NC208139. 救救AR

描述

AR被封印在了冰霜神殿里面,现在勇敢的你要去拯救AR,在冰霜神殿的大门前,刻着这样三行话:
秩序者主宰世界
不受秩序之人,将遭受天谴
请输入你的密码:
你往大门下面一看,有一个小框框,框框刚好可以塞进去一个字符串
这时,周围传出了一个奇怪的声音
你的密码要包含n个你要拯救的人的名字,密码的长度不能超过n,且密码里面只能包含你要拯救的人的字母
这个时候,你想了一下,包含n个的意思是:开门的密码存在n个子序列是"AR"
你又转念想到了子序列的定义:
从最初序列通过去除某些元素但不破坏余下元素的相对位置(在前或在后)而形成的新序列,这样的新序列称为最初序列的子序列。
现在你有1s的时间来可以想出一个字符串,这个字符串是打开冰雪神殿大门的密码

输入描述

一行一个数字n (1<=n<=100000)

输出描述

若存在满足题意的字符串,输出一个字符串,该字符串的长度不超过n,且该字符串存在正好n个子序列是"AR",字符串只可以包含'A', 'R'这两个字符,如果有多个字符串,输出任意一个即可
若不存在满足题意的字符串,输出-1

示例1

输入:

4

输出:

AARR

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++14(g++5.4) 解法, 执行用时: 8ms, 内存消耗: 492K, 提交时间: 2020-06-21 15:59:26

#include <bits/stdc++.h>
using namespace std;
int n;

int main(){
    scanf("%d",&n);
    if(n<=3) return printf("-1\n"),0;
    printf("AAR");
    for(int i=1;i<n-3;i++) printf("A");
    printf("R\n");
    return 0;
}

C++(g++ 7.5.0) 解法, 执行用时: 7ms, 内存消耗: 516K, 提交时间: 2023-03-28 20:24:57

#include<bits/stdc++.h>
using namespace std;
int n;
signed main()
{
    cin>>n;
    if(n==1||n==2||n==3)cout<<-1;
    else
    {
        cout<<"AAR";
        for(int i=0;i<n-4;i++)cout<<"A";
        cout<<"R";
    }
}

C++11(clang++ 3.9) 解法, 执行用时: 5ms, 内存消耗: 504K, 提交时间: 2020-06-21 15:18:52

#include<cstdio>

int main()
{
	int n;
	scanf("%d",&n);
	if(n<=3) return !printf("-1\n");
	printf("AAR");
	for(int i=4;i<n;i++) printf("A");
	printf("R");
}

Python3 解法, 执行用时: 43ms, 内存消耗: 4716K, 提交时间: 2022-10-12 16:23:30

x=int(input())
print('A'+'R'*(x-4)+'A'+'RR'if x>3 else -1)

上一题