結果

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

テストケース

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

ソースコード

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() > 1 ) 
        {
            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