• Google Code Jam Africa 2010 Qualification Round Problem B. Reverse Words


    Google Code Jam Africa 2010 Qualification Round Problem B. Reverse Words

    https://code.google.com/codejam/contest/351101/dashboard#s=p1

    Problem

    Given a list of space separated words, reverse the order of the words. Each line of text contains L letters and W words. A line will only consist of letters and space characters. There will be exactly one space character between each pair of consecutive words.

    Input

    The first line of input gives the number of cases, N.
    N test cases follow. For each test case there will a line of letters and space characters indicating a list of space separated words. Spaces will not appear at the start or end of a line.

    Output

    For each test case, output one line containing "Case #x: " followed by the list of words in reverse order.

    Limits

    Small dataset

    N = 5
    1 ≤ L ≤ 25

    Large dataset

    N = 100
    1 ≤ L ≤ 1000

    Sample


    Input 

    Output 
    3
    this is a test
    foobar
    all your base
    Case #1: test a is this
    Case #2: foobar
    Case #3: base your all

    Solution:

    vector<string> solve1(vector<string>words)
    {
        reverse(words.begin(), words.end());
        return words;
    }
    
    int main() {
        freopen("in", "r", stdin);
        //freopen("out", "w", stdout);
        
        int t_case_num;
        scanf("%d
    ", &t_case_num);
        if (!t_case_num) {
            cerr << "Check input!" << endl;
            exit(0);
        }
        
        // Read input set
        for (int case_n = 1; case_n <= t_case_num; case_n++) {
    
            string line;
            getline(cin, line);
            stringstream ss(line);
            
            vector<string>words;
            
            string w;
            while (ss >> w) {
                words.push_back(w);
            }
            
            auto result = solve1(words);
            printf("Case #%d: ", case_n);
            for (int i = 0; i < result.size(); i++) {
                cout << result.at(i) << " ";
            }
            printf("
    ");
            
        }
        
        fclose(stdin);
        fclose(stdout);
        return 0;
    }
  • 相关阅读:
    Spring学习笔记
    Bash编程(6) String操作
    Bash编程(5) Shell方法
    Bash编程(4) 参数与变量
    Bash编程(2) 循环与分支
    CentOS 升级 openSSH
    Bash编程(1) 基础
    DNS配置
    资料收集:学习 Linux/*BSD/Unix 的 30 个最佳在线文档
    【数位DP】[LOJ10168] 恨7不成妻
  • 原文地址:https://www.cnblogs.com/fatlyz/p/3678851.html
Copyright © 2020-2023  润新知