結果

問題 No.46 はじめのn歩
ユーザー Sylvanas_ship3Sylvanas_ship3
提出日時 2017-04-03 11:31:55
言語 C++11
(gcc 11.4.0)
結果
RE  
実行時間 -
コード長 1,928 bytes
コンパイル時間 567 ms
コンパイル使用メモリ 69,204 KB
実行使用メモリ 6,948 KB
最終ジャッジ日時 2024-07-08 03:11:54
合計ジャッジ時間 1,089 ms
ジャッジサーバーID
(参考情報)
judge4 / judge5
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 RE -
testcase_01 RE -
testcase_02 RE -
testcase_03 RE -
testcase_04 RE -
testcase_05 RE -
testcase_06 RE -
testcase_07 RE -
testcase_08 RE -
testcase_09 RE -
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#include <stdexcept>
#include <string>
#include <vector>
#include <cmath>

#define DEBUG

int getInputNumber( const std::string& );
std::vector<std::string> split( const std::string&, std::string );

int main()
{
    std::cin.sync_with_stdio( false );
    std::cin.tie( 0 );

    // get input from stdout
    std::string input;
    int stride = 0, length = 0;
    if ( std::getline( std::cin, input ) )
    {
        std::vector<std::string> argv = split( input, " " );
        if ( argv.size() > 2 ) 
        {
            stride = getInputNumber(argv[0]);
            length = getInputNumber(argv[1]);
        }
        else
        {
            return -1;
        }
    }

    if ( stride < length )
    {
        return 1;
        //int tmp = stride;
        //stride = length;
        //length = tmp;
    }

    int ans = 0;
    ans = std::ceil(length / stride);
    std::cout << ans << std::endl;

    return 0;
}

int getInputNumber( const std::string& input )
{
    int input_number = 0;

    try
    {
        input_number = std::stoi( input );
    }
    catch ( std::invalid_argument& )
    {
        return 0;
    }
    catch ( std::out_of_range& )
    {
        return 0;
    }

    return input_number;
}

std::vector<std::string> split( const std::string& str, std::string delim )
{
    std::vector<std::string> result;
    result.reserve( 8 );

    std::string::size_type pos = 0;
    while ( pos != std::string::npos )
    {
        std::string::size_type current = str.find( delim, pos );
        if ( current == std::string::npos )
        {
            result.push_back( str.substr( pos ) );
            break;
        }
        else
        {
            std::string tmp = str.substr( pos, current - pos );
            if ( !tmp.empty() )
            {
                result.push_back( tmp );
            }
        }

        pos = current + delim.length();
    }

    return result;
}
0