hdu 1106 排序 解題報告

2022-06-10 16:03:12 字數 836 閱讀 3894

這個題目一開始以為是水題,就想著用來輕鬆輕鬆,誰知道改得我想吐!!

除了discuss 中的資料外,還加上這兩組,一般就能過了:001568970056   5551235555789

1 #include 2 #include 3 #include 4

using

namespace

std;56

const

int maxn = 1000 + 10;7

char

s[maxn], t[maxn];

8int

a[maxn];910

intmain()

1125

if(f)

26 i--;

27while (s[i] != '

5' && i 28 t[tl++] = s[i++];

29if (i == len) //

最後無5結束

3036

if (s[i] == '

5' && s[i-1] != '

5' && i != 0) //

排除一連串的5和以5開頭

3743

}44 sort(a, a+l);

45for (i = 0; i < l-1; i++)

46 printf("

%d "

, a[i]);

47 printf("

%d\n

", a[i]);48}

49return0;

50 }

HDU 1106 排序(排序)

輸入一行數字,如果我們把這行數字中的 5 都看成空格,那麼就得到一行用空格分割的若干非負整數 可能有些整數以 0 開頭,這些頭部的 0 應該被忽略掉,除非這個整數就是由若干個 0 組成的,這時這個整數就是0 你的任務是 對這些分割得到的整數,依從小到大的順序排序輸出。input輸入包含多組測試用例,...

hdu 1106 排序(水題,字串)

小記 自己想出bug就是爽 思路 從左到右一位一位的加進來,碰到5就將之前形成的數放到陣列裡去。然後排序陣列輸出即可。這裡形成數的處理要注意。因為可能出現連續很多個5,所以不是一碰到5就要將乙個數放到要排序的陣列裡去。注意這點即可。另外要保證所有數都存入了陣列,我一開始就是最後那個數沒存進去,wa了...

杭電1106 排序

輸入一行數字,如果我們把這行數字中的 5 都看成空格,那麼就得到一行用空格分割的若干非負整數 可能有些整數以 0 開頭,這些頭部的 0 應該被忽略掉,除非這個整數就是由若干個 0 組成的,這時這個整數就是0 你的任務是 對這些分割得到的整數,依從小到大的順序排序輸出。輸入包含多組測試用例,每組輸入資...