#38333: python TLE


40957017O (unknown)

學校 : 國立臺灣師範大學
編號 : 249669
來源 : [150.116.231.7]
最後登入時間 :
2024-09-23 23:17:04
a225. 明明愛排列 | From: [150.117.167.160] | 發表日期 : 2023-11-12 22:48

while True:
  try:
    n = int(input())
    k = list(map(int, input().split()))
    for i in range (n-1):
      for j in range (n-1-i):
        if k[j] % 10 > k[j+1] % 10:
          temp = k[j]
          k[j] = k[j+1]
          k[j+1] = temp
        elif k[j] % 10 == k[j+1] % 10 and k[j] < k[j+1]:
          temp = k[j]
          k[j] = k[j+1]
          k[j+1] = temp
    print(*k)
  except:
    break
 
#38335: Re: python TLE


mysimplepanda@gmail.com (mysimplepanda)

學校 : 不指定學校
編號 : 132630
來源 : [218.164.18.91]
最後登入時間 :
2023-11-19 19:32:34
a225. 明明愛排列 | From: [139.162.109.82] | 發表日期 : 2023-11-13 00:26

while True:
  try:
    n = int(input())
    k = list(map(int, input().split()))
    for i in range (n-1):
      for j in range (n-1-i):
        if k[j] % 10 > k[j+1] % 10:
          temp = k[j]
          k[j] = k[j+1]
          k[j+1] = temp
        elif k[j] % 10 == k[j+1] % 10 and k[j] < k[j+1]:
          temp = k[j]
          k[j] = k[j+1]
          k[j+1] = temp
    print(*k)
  except:
    break

"""
(1) While+try 來處理EOF宜改為sys
(2) 你的程式是用bubble sort。要自己寫排序的程式的話,建議用QuickSort或是MergeSort
(3) 也可以用Python內建的排序方法 :D
"""

import sys

def cus_sort(a):
    return (a%10, -a) #這樣會先比較a%10大小(=比較個位數), 一樣再比較-a大小(a越大, -a越小, 排越前面)

for _ in sys.stdin:
    inp = list(map(int, sys.stdin.readline().split()))
    inp.sort(key=cus_sort)
    print(*inp)
    



 
ZeroJudge Forum