BJTU1820 懶羊羊的作業

2021-10-16 16:52:45 字數 1516 閱讀 9185

看過國產動畫片的同學都知道,懶羊羊是乙隻非常懶的羊,整天除了吃就是睡,根本沒有時間做作業。明天就是周一了,村長慢羊羊留的作業:

把 ?n

個整數從大到小排序,它還沒開始寫,真是一件讓羊悲傷的事呀。但是,懶羊羊又是乙隻相當「機智」的羊,它發現村長年紀大了,這麼多作業根本判不過來,只會檢查作業的開頭和結尾。所以懶羊羊想出了乙個辦法:把最大的數和第乙個數交換,再把最小的數與最後乙個數交換,其他的數字置不變。按這種方法得到的整數數列就可以瞞過村長啦。但是即使這樣,懶羊羊也懶得去做,所以它來求助愛程式設計的你們啦。

第一行為 ?,表示有 ? (1≤?≤50)組資料。接下來 ? 行,每行第乙個整數 ? (2≤?≤10 000),表示共有 ? 個整數。之後這一行還有 ? 個整數,是要進行上述操作的 ? 個數。(保證這 ? 個數中最大的數只有乙個,最小的數也只有乙個)

輸出共有 ? 行,第 ? 行開頭為 case x: 和乙個空格,接下來為 ? 個數,是你的結果。

2

5 2 3 1 5 4

6 9 11 2 0 7 2

case 1: 5 3 4 2 1

case 2: 11 9 2 2 7 0

是到執行水題。。。。可是我連水題都做不對了(可惡?,其實思路很簡單,多考慮一下最小元素位置為陣列第乙個的時候,這時候需要將nmin改為nmax的位置(在最大值與第乙個元素交換後)。

但是這不是卡住我的地方。我的思路沒有問題以至於我一度懷疑是不是輸出形式錯了。然後我仔細讀了讀題,發現並沒有給出每組資料的最大值,我恍然大悟,立刻將自己定義的max和min分別賦值成更小和更大的數如下所示:

int max =

0x80000000

;int min =

0x3f3f3f3f

;

於是就ac了。。

全部**如下:

#include

#include

#include

#include

#include

#include

using

namespace std;

intmain()

if(a[i]

< min)

}int temp =0;

temp = a[0]

; a[0]

= a[nmax]

; a[nmax]

= temp;

if(nmin ==0)

temp = a[n-1]

; a[n-1]

= a[nmin]

; a[nmin]

= temp;

cout<<

"case "

<":";

for(

int i =

0;i < n;i++

) cout<}return0;

}

careercup 高等難度 18 2

18.2 編寫乙個方法,洗一副牌。要求做到完美洗牌,換言之,這幅牌52!種排列組合出現的概率相同。假設給定乙個完美的隨機發生器。解法 假定有個陣列,含有n個元素,類似如下 1 2 3 4 5 利用簡單構造法,我們不妨先問自己,假定有個方法shuffle 對n 1個元素有效,我們可以用它來打亂n個元素...

18 2D轉換模組

transform屬性 作用 2d的模組轉換 取值 transform rotate 值deg 旋轉 旋轉預設以自己的中心的為旋轉點 transform translate 水平方向px,垂直方向px 平移元素 transform translate z x y 偏移的量px transform s...

182day(選單建立)

2018年4月10日 連續182天 內容 jmenu string label 用給定標籤構造乙個選單。jmenuitem add jmenuitem item 新增乙個選單項 或乙個選單 jmenuitem add string label 用給定標籤將乙個選單項新增到選單中,並返回這個選單項。j...