懶羊羊的作業
阿新 • • 發佈:2018-12-12
題面描述: 看過國產動畫片的同學都知道,懶羊羊是一隻非常懶的羊,整天除了吃就是睡, 根本沒有時間做作業。明天就是週一了,村長慢羊羊留的作業:把 n 個整數從大 到小排序,它還沒開始寫,真是一件讓羊悲傷的事呀。但是,懶羊羊又是一隻相 當“機智”的羊, 它發現村長年紀大了, 這麼多作業根本判不過來, 只會檢查作業 的開頭和結尾。所以懶羊羊想出了一個辦法:把最大的數和第一個數交換,再把 最小的數與最後一個數交換,其他的數位置不變。按這種方法得到的整數數列就 可以瞞過村長啦。但是即使這樣,懶羊羊也懶得去做,所以它來求助愛程式設計的你 們啦。 輸入資料: 第一行為 T,表示有 T 組資料。接下來 T 行,每行的第一個數為一個整數 n,表 示該行隨後有 n 個整數,為要進行上述操作的 n 個數(保證這 n 個數中最大的數 只有一個,最小的數也只有一個, T<=50; 2<=n<=10000)。 輸出資料:
t= int(input()) an = [] c = 1 for i in range(t): datain = [] l = [] dat = [] temp = list(input().split()) for j in range(1,int(temp[0])+1): dat.append(int(temp[j])) nmax = (max(dat)) nmin = (min(dat)) cmax = dat.index(nmax) cmin = dat.index(nmin) maxtemp = dat[0] mintemp = dat[-1] dat[0] = nmax dat[-1] = nmin if(cmin == 0 and cmax != int(temp[0])-1): dat[cmax] = mintemp elif(cmin != 0 and cmax == int(temp[0])-1): dat[cmin] = maxtemp else: dat[cmax] = maxtemp dat[cmin] = mintemp an.append(dat) for i in an: print("Case #{}: ".format(c),end = '') x = i[0:-1] for j in x: print(j,'',end = '') print(i[-1]) c = c+1