PAT配列要素[B]右回転の問題

件名の説明:

配列A、そこN(> 0)の整数であり、前提は、追加のアレイの使用を許可されていない、(≧0)の位置右へのデータA(Aからの各整数サイクルM、0 A 。1N. 1)(に変換され、N-MN. 1- 0 。1N-M-1M)(最前面に移動するMの最後のサイクル数M位置)。あなたは回数に移動する方法を設計する方法に、できるだけデータを移動するためのプログラムを検討する必要がある場合は?

入力フォーマット:

第二の入力ラインNの整数、間にスペースで区切られ、各入力は、テストケース、最初の入力ラインN(1≤N≤100)とM(≥0)を含みます。

出力フォーマット:

間のスペースで区切られた整数Mビットの出力円形の右シーケンスの後の行では、列の端部は、余分なスペースを持つことができません。

サンプル入力:

6 2
1 2 3 4 5 6

出力例:

5 6 1 2 3 4

問題解決のアイデア:

コード:

def main():
    n,m=map(int,input().split())
    m=m%n
    a=[i for i in input().split()]
    a[0:m],a[m:]=a[len(a)-m:],a[0:len(a)-m]
    print(' '.join(a))
 
 
if '__name__'==main():
    main()
公開された55元の記事 ウォン称賛30 ビュー9806

おすすめ

転載: blog.csdn.net/chaifang0620/article/details/104954017
おすすめ