ZeroJudge D190: 11462 - Age Sort

題目敘述

題目採EOF收資料直到N=0終止,每筆資料第一行會有一個正整數N,下一行會有N個整數。要求將這N個整數排序後由小到大輸出。

範例輸入

5

3 4 2 1 5

5

2 3 2 3 1

0

範例輸出

1 2 3 4 5

1 2 2 3 3

解題思路

將需要排列的整數收到一個陣列/Vector裡,再使用Algorithm中的sort來進行排序,最後使用For迴圈從第0個資料到第N-1個資料依序輸出。本題即使不使用cin加速/scanf也可以AC。

解題程式碼如下 (僅供參考):

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
    cin.sync_with_stdio(0);
    cin.tie(nullptr);
    int N;
    while (cin >> N && N != 0)
    {
        vector<int>num;
        for (int i = 0; i<N; i++)
        {
            int tmp;
            cin >> tmp;
            num.push_back(tmp);
        }
        sort(num.begin(), num.end());
        for (int i = 0; i<N; i++)
        {
            cout << num[i] << " ";
        }
        cout << "\n";
    }
}

留言

這個網誌中的熱門文章

ZeroJudge M933: 邏輯電路

ZeroJudge A148: You Cannot Pass?!

ZeroJudge M932: 蜜蜂觀察