トップページに戻る    次の競技プログラミングの問題へ    前の競技プログラミングの問題へ

CODE FESTIVAL 2015予選B A ダブル文字列

■■■問題■■■

今日の日付は2015/10/25です。
この日付を文字列としてみたとき、文字列に含まれる全ての文字(2,0,1,5,/)がちょうど2回ずつ現れています。
このように文字列に含まれる全ての文字がちょうど2回ずつ現れる文字列を「ダブル文字列」と呼ぶことにします。

あなたは小文字アルファベットのみからなる文字列Sを与えられるので、
Sに含まれる文字を全て含むようなダブル文字列を1つ出力してください。

出力する文字列にはSに含まれない文字が含まれていても良いですが、
小文字アルファベット以外の文字が含まれてはいけません。

■■■入力■■■

S

●1行目には、文字列 S(1 <= |S| <= 10) が与えられる。ただし、|S| は文字列Sの長さを表す。
●Sは小文字アルファベットのみからなる。
●文字列Sに2回以上現れるような文字がないことが保証される。

■■■出力■■■

Sに含まれる文字を全て含むような小文字アルファベットのみからなるダブル文字列を1行に出力せよ。
ダブル文字列は複数存在することもあるが、そのうちの1つを出力すれば良い。
出力の末尾に改行を入れること。


C#のソース

using System;
using System.Collections.Generic;

class Program
{
    static string InputPattern = "Input1";

    static List<string> GetInputList()
    {
        var WillReturn = new List<string>();

        if (InputPattern == "Input1") {
            WillReturn.Add("on");
            //noon
            //onno、onon、oonn、lemonmelonなどの文字列も正解となります
        }
        else if (InputPattern == "Input2") {
            WillReturn.Add("meat");
            //teammate
        }
        else {
            string wkStr;
            while ((wkStr = Console.ReadLine()) != null) WillReturn.Add(wkStr);
        }
        return WillReturn;
    }

    static void Main()
    {
        List<string> InputList = GetInputList();
        Console.WriteLine(InputList[0] + InputList[0]);
    }
}


解説

ナイーブに実装してます。