ホームページ ウェブフロントエンド htmlチュートリアル Codeforces ラウンド #277 (ディビジョン 2)-C.回文変換(贪心)_html/css_WEB-ITnose

Codeforces ラウンド #277 (ディビジョン 2)-C.回文変換(贪心)_html/css_WEB-ITnose

Jun 24, 2016 am 11:53 AM

回文変換

テストごとの制限時間

1 秒

テストごとのメモリ制限

256 メガバイト

入力

標準入力

出力

標準出力

ナムは遊んでいます彼のコンピュータ上の文字列。この文字列は、n 個の小文字の英字で構成されます。これでは意味がないので、Nam は文字列をより美しくすること、つまり、左、右、上、下の 4 つの矢印キーを使用して文字列を回文にすることにしました

文字列の何らかの記号を指すカーソルがあります。現在、カーソルが位置 i (1?≤?i?≤?n、文字列は 1 から始まるインデックスを使用します) にあるとします。左右の矢印キーは文字列上でカーソルを移動するために使用されます。文字列は循環的です。つまり、Nam が左矢印キーを押すと、i?>?1 の場合はカーソルが i?-?1 の位置に移動し、それ以外の場合は文字列の末尾 (つまり位置 n) に移動します。右矢印キーを押したときも同じことが当てはまります (i?=?n の場合、カーソルは文字列の先頭に表示されます)。

Nam が上矢印キーを押すと、テキスト カーソルが指している文字が に変わります。英語のアルファベットの次の文字 (アルファベットも循環的であると仮定します。つまり、「z」の後に「a」が続きます)。下矢印キーを押したときも同じことが当てはまります。

最初、テキスト カーソルは p の位置にあります。

ナムにはやるべき宿題がたくさんあるので、できるだけ早くこれを完了したいと考えています。文字列を回文にするために矢印キーを押す最小回数を計算して彼を手伝ってもらえますか?

入力

最初の行には、スペースで区切られた 2 つの整数 n (1?≤?n?≤?105) が含まれています。と、p (1?≤?p?≤?n)、Nam の文字列の長さとテキスト カーソルの初期位置です。

次の行には、Nam の文字列の小文字が n 個含まれています。

出力

出力文字列を回文に変更するために必要な最小押下回数。

サンプル テスト

入力

8 3aeabcaez
ログイン後にコピー

出力

文字列が次のように読める場合、その文字列は回文です。同じ順方向または逆方向です。

サンプル テストでは、最初の Nam の文字列は次のとおりです: (カーソル位置は太字で表示されます)。

最適な解決策では、Nam は次の 6 つの手順を実行できます:

結果は、回文になります。





解思路:贪心。ただ一つの状況だけを考えてください、例として、絶え間なく心は考えます適合边界近,如此往复即可能です。



このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

公式アカウントのキャッシュの更新の難しさ:バージョンの更新後のユーザーエクスペリエンスに影響を与える古いキャッシュを回避する方法は? 公式アカウントのキャッシュの更新の難しさ:バージョンの更新後のユーザーエクスペリエンスに影響を与える古いキャッシュを回避する方法は? Mar 04, 2025 pm 12:32 PM

公式アカウントのキャッシュの更新の難しさ:バージョンの更新後のユーザーエクスペリエンスに影響を与える古いキャッシュを回避する方法は?

HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? Mar 17, 2025 pm 12:27 PM

HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか?

WebページのPNG画像にストローク効果を効率的に追加する方法は? WebページのPNG画像にストローク効果を効率的に追加する方法は? Mar 04, 2025 pm 02:39 PM

WebページのPNG画像にストローク効果を効率的に追加する方法は?

< iframe>の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? < iframe>の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? Mar 20, 2025 pm 06:05 PM

< iframe>の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか?

IFramesを使用することのセキュリティへの影響は何ですか?また、どのようにそれらを軽減できますか? IFramesを使用することのセキュリティへの影響は何ですか?また、どのようにそれらを軽減できますか? Mar 18, 2025 pm 02:51 PM

IFramesを使用することのセキュリティへの影響は何ですか?また、どのようにそれらを軽減できますか?

HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? Mar 17, 2025 pm 12:20 PM

HTML5のクロスブラウザー互換性のベストプラクティスは何ですか?

HTML5< meter>を使用するにはどうすればよいですか 範囲内に数値データを表示する要素? HTML5< meter>を使用するにはどうすればよいですか 範囲内に数値データを表示する要素? Mar 12, 2025 pm 04:08 PM

HTML5< meter>を使用するにはどうすればよいですか 範囲内に数値データを表示する要素?

HTML5< time>を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素? HTML5< time>を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素? Mar 12, 2025 pm 04:05 PM

HTML5< time>を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素?

See all articles