zoukankan      html  css  js  c++  java
  • 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;
    }
  • 相关阅读:
    struct page*
    ARM平台linux内核Notes 1
    CTDIY1字符设备驱动的使用
    深入理解linux内核读书笔记1
    在linux下设置pl2303串口
    struct per_cpu_pageset
    ARM平台linux内核Notes 2
    CTDIY2字符设备驱动的注册
    深入理解linux内核读书笔记2
    How to rollback a transaction in TSQL
  • 原文地址:https://www.cnblogs.com/fatlyz/p/3678851.html
Copyright © 2011-2022 走看看