代码中的未知错误

时间:2014-04-02 21:53:06

标签: c++

以下是我要解决的问题的链接:http://usaco.org/index.php?page=viewproblem2&cpid=187

以下是问题解决方案的链接:http://usaco.org/current/data/sol_cowfind.html

这是我写的解决方案:

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main()
{
    string n; int answer = 0;
    ifstream fin("cowfind.in");
    fin >> n;
    fin.close();
    int c = 0;

    //process for finding the number of possible outputs
    for(int i = 0; i < n.size(); i++)
    {
        if(n[i-1] == '(' && n[i] == '(') //increment the variable c for each pair of "hind" legs
            c++;
        if(n[i-1] == ')' && n[i] == ')') //increment answer for each pair of front legs
            answer++;
    }
    answer = answer * c; //number of pairs of hind legs * number of pairs of front legs
    ofstream fout("cowfind.out");
    fout << answer;
    fout.close();
    return 0;
}

话虽如此,我的代码出了什么问题?它不断产生不正确的输出,我不知道为什么。

1 个答案:

答案 0 :(得分:2)

您的计算不正确。让我们看看这个输入:))((。这里没有解决方案,但你的代码将产生1个解决方案。

尝试迭代搜索第一个文字的字符串((。一旦找到 - 迭代要查找的其余字符串))并将它们添加到求解和中。

祝你好运!