• CF-805B


    B. 3-palindrome
    time limit per test
    1 second
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    In the beginning of the new year Keivan decided to reverse his name. He doesn't like palindromes, so he changed Naviek to Navick.

    He is too selfish, so for a given n he wants to obtain a string of n characters, each of which is either 'a', 'b' or 'c', with no palindromes of length 3 appearing in the string as a substring. For example, the strings "abc" and "abca" suit him, while the string "aba" doesn't. He also want the number of letters 'c' in his string to be as little as possible.

    Input

    The first line contains single integer n (1 ≤ n ≤ 2·105) — the length of the string.

    Output

    Print the string that satisfies all the constraints.

    If there are multiple answers, print any of them.

    Examples
    input
    2
    output
    aa
    input
    3
    output
    bba
    Note

    palindrome is a sequence of characters which reads the same backward and forward.

    题意:

    对于给定的字符个数n,

    我们需要用‘a’ ‘b’ ‘c’组成字符串使其无三字子串,‘c’尽可能少。

    c尽可能少的话我们就不用c了,

    循环abba即可

    附AC代码:

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 
     4 int main(){
     5     int n;
     6     cin>>n;
     7     int x=n/4;
     8     int y=n%4;
     9     for(int i=0;i<x;i++){
    10         cout<<"abba";
    11     }
    12     if(y==1)
    13     cout<<"a"<<endl;
    14     else if(y==2)
    15     cout<<"ab"<<endl;
    16     else if(y==3)
    17     cout<<"abb"<<endl;
    18     return 0;
    19 } 
  • 相关阅读:
    C++——修改gcc版本优先级,多版本gcc共存
    C++——pic 与PIC的异同
    Java源码执行顺序
    ubuntu开机鼠标键盘没反应
    加载动态库失败
    ubuntu 重启网络
    交叉编译iperf3
    查看动态库的函数名
    UI组件Kendo UI for jQuery数据管理入门指南 TaskBoard/列
    B/S端界面控件DevExtreme ASP.NET MVC入门指南 调用方法
  • 原文地址:https://www.cnblogs.com/Kiven5197/p/6815039.html
Copyright © 2020-2023  润新知