仅当使用完整代码

时间:2016-10-14 04:31:19

标签: c++ c++11 freeze

导致我的代码出现意外行为的原因是什么?

程序在到达代码的预期部分之前冻结(不崩溃)。该程序完全包含在main()中,并将预期语句隔离整个代码使其正常工作。为什么会这样?

我为this codeforces problem编写了一个糟糕的解决方案,我打算一点一点地改进。问题是奇怪的是我的程序在读取输入时冻结(就好像它是一个无限循环,它不会崩溃)。我在GCC上尝试了C ++和C ++ 11,并且两者都冻结了。试过Ideone,同样的事情发生了。它可以是任何东西,除了我将所有从第一个包含复制到输出行,这将确认所有输入都被读取并仅运行此摘录。

#include <bits/stdc++.h>
using namespace std;

typedef unsigned uint;

int main() {
    ios_base::sync_with_stdio(false);
    uint n, h, k, buf;
    vector<uint> potatoes;

    cin >> n >> h >> k;

    for (uint i = 0; i < n; ++i)
    {
        cin >> buf;
        potatoes.push_back(buf);
    }

    cout << "Letf\n";

    return 0;
}

这是一个简化版本,包含作为输入阶段逻辑一部分的所有行。预期的输入是

  

5 6 3

     

5 4 3 2 1

以下是full codethe correctly working excerpt的链接。

1 个答案:

答案 0 :(得分:2)

主要问题是你的(真实){...}。你的&#34;算法&#34;无限制地循环。

如果您不知道,那么该轮的教程和源代码已经存在 http://codeforces.com/blog/entry/45181

最后,请仔细查看问题页面。竞赛材料部分为您提供有用的东西。