HDU 1106 排序

原题链接

注意要细心。

附ac代码:

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <vector>
#include <algorithm>
using namespace std;
#define MAX 1000 + 5
char s[MAX];

int main(){
    vector<int> vec;
    int t, sign;
    while( scanf( "%s", s ) == 1 ){
        t = sign = 0;
        for( int i = 0; i != strlen(s); ++i ){
            if( s[i] == '5' ){
                if( sign ){
                    vec.push_back( t );
                    t = sign = 0;
                }
                continue;
            }
            t = t * 10 + s[i] - '0';
            sign = 1;
        }
        if( sign )
            vec.push_back( t );
        sort( vec.begin(), vec.end() );
        cout << vec[0];
        for( int i = 1; i != vec.size(); ++i )
            cout << ' ' << vec[i];
        cout << endl;
        vec.clear();
    }
    return 0;
}


posted on 2014-02-13 15:26  长木Qiu  阅读(109)  评论(0编辑  收藏  举报