結果

問題 No.273 回文分解
ユーザー Himatsubushin
提出日時 2015-12-26 16:49:21
言語 C#(csc)
(csc 3.9.0)
結果
AC  
実行時間 25 ms / 2,000 ms
コード長 883 bytes
コンパイル時間 788 ms
コンパイル使用メモリ 109,240 KB
実行使用メモリ 25,804 KB
最終ジャッジ日時 2024-06-25 13:33:35
合計ジャッジ時間 2,652 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 32
権限があれば一括ダウンロードができます
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc)
Copyright (C) Microsoft Corporation. All rights reserved.

ソースコード

diff #

using System;

namespace Palindrome01
{
	class MainClass
	{
		static void Main(string[] args)
		{
			string sentence;
			int maxLength = 0;

			sentence = Console.ReadLine();

			for (int i = 0; i < sentence.Length - 1; i++)
			{
				for (int j = i; j < sentence.Length; j++)
				{
					string temp = sentence.Substring(i, sentence.Length - j);
					int num = SearchPalidrome(temp, 0);
					if (num == sentence.Length)
						num -= 2;
					if (num > maxLength)
						maxLength = num;
				}
			}
			Console.WriteLine(maxLength);
		}

		static int SearchPalidrome(string sentence, int layer)
		{
			if (sentence.Length == 1)
				return ++layer;
			if (sentence.Length == 0)
				return layer;

			if (sentence[0] == sentence[sentence.Length - 1])
			{
				string temp = sentence.Substring(1, sentence.Length - 2);
				return SearchPalidrome(temp, layer+=2);
			}

			return 0;
		}
	}
}
0