題目描述
乙個陣列a中存有n(>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移m(≥0)個位置,即將a中的資料由(a0a1⋯an−1)變換為(an−m⋯an−1a0a1⋯an−m−1)(最後m個數迴圈移至最前面的m個位置)。如果需要考慮程式移動資料的次數盡量少,要如何設計移動的方法?
輸入格式
每個輸入包含乙個測試用例,第1行輸入n(1≤n≤100)和m(≥0);第2行輸入n個整數,之間用空格分隔。
輸出格式
在一行中輸出迴圈右移m位以後的整數序列,之間用空格分隔,序列結尾不能有多餘空格。
輸入樣例
6 2
1 2 3 4 5 6
輸出樣例
5 6 1 2 3 4
這裡我考慮程式移動資料次數最少,是否可以直接在輸入階段就把資料元素放到最終位置上呢,以達到移動次數最少甚至不移動的效果,在簡單寫完後對比書上的參考**,我認為確實有可行性,故貼於此,**比較簡單沒有加注釋。
#includeint main();
for(int i=0;ifor(int i=0;ireturn 0;
}
c c 學習筆記 10
結構是乙個或者多個變數的集合,這些變數可以為不同的型別。ansi標準在結構方面最主要的變化是定義了結構的賦值操作 拷貝 賦值 傳遞給函式 函式返回結構型別的值。結構宣告如下 view code 1 struct point 2 結構也可以跟其他的基本型別宣告一樣,如 view code 1 stru...
《演算法導論》筆記 B樹
演算法 cc c 資料結構 b樹是平衡樹的一種,主要用於操作儲存在磁碟等二級儲存裝置上的大量資料。相比起記憶體 主存 來說,磁碟操作的速度非常慢 慢幾個數量級 所以涉及到儲存在磁碟的資料的時候,儘量減少磁碟的讀取和寫入操作對於提高操作速度是非常重要的。b樹就是針對這個特點進行設計以滿足相應要求的。b...
2023年藍橋杯B組C C 第10題
k倍區間 有n個數的數列 a1,a2,an 定義s i,j ai ai 1 aj i j 如果s i,j 能被正整數 k整除,那麼稱 s i,j 為k 倍區間。測試資料共兩行。第一行為兩個正整數n和 k,第二行為 n個不同的正整數。輸入樣例1 5 21 2 3 4 5 輸入樣例2 5 31 2 3 ...