ホームページ  >  記事  >  ウェブフロントエンド  >  Codeforces ラウンド #277.5 (ディビジョン 2)A??SwapSort_html/css_WEB-ITnose

Codeforces ラウンド #277.5 (ディビジョン 2)A??SwapSort_html/css_WEB-ITnose

WBOY
WBOYオリジナル
2016-06-24 11:53:461117ブラウズ

A. SwapSort

テストごとの時間制限

1 秒

テストごとのメモリ制限

256 メガバイト

入力

標準入力

出力

標準出力

この問題ではあなたの目標は、n 個の整数で構成される配列を最大 n 個のスワップでソートすることです。指定された配列について、配列を非降順でソートするスワップのシーケンスを見つけます。スワップは、次々と連続して実行されます。

この問題では、スワップの数を最小限に抑える必要がないことに注意してください。あなたのタスクは、n 以下のシーケンスを見つけることです。

入力

入力の最初の行には、整数 n (1?≤?n?≤?3000) が含まれています。配列要素の数。 2 行目には、配列の要素: a0,?a1,?...,?an?-?1 (?-?109?≤?ai?≤?109) が含まれます。ここで、ai は配列の i 番目の要素です。 。要素は、左から右に 0 から n?-?1 まで番号付けされます。一部の整数は配列内に複数回出現する場合があります。

出力

最初の行に k (0?≤?k?≤?n) を出力します。スワップの数。次の k 行には、k 個のスワップの説明を 1 行に 1 つずつ含める必要があります。各スワップは、要素 ai と aj のスワップを表す、整数 i、j (0?≤?i,?j?≤?n?-?1) のペアとして出力する必要があります。ペアのインデックスは任意の順序で出力できます。スワップは、出力に表示される順序で、最初から最後まで実行されます。 i?=?j を出力し、同じ要素のペアを複数回交換することができます。

複数の答えがある場合は、いずれかを出力します。少なくとも 1 つの答えが存在することが保証されています。

サンプル テスト

入力

55 2 5 1 4

出力

20 34 2

入力

610 20 20 40 60 60

出力

入力

2101 100

出力

10 1

排个序、その後和排序前对、不一样就往后找到应该在此一位上の数、その後交换


りー

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