uouono_ 2023-10-19 22:57 采纳率: 35.3%
浏览 4

N皇后问题的解法无法输出到文件中,求看

文件可以打开,但是解法无法打印到文件中,求看,求帮忙🥺


#include"Queue.h"
void Queue::Recursion(int m)
{
    if (m <= N)
    {
        for (int i = 1; i <= N; i++)
        {
            if (check(m, i))
            {
                solution[m] = i;
                Recursion(m + 1);
                solution[m] = 0;
            }
        }
    }
    else
        print_chess(N);
}
bool Queue::check(int m, int n)
{
    for (int i = 1; i < m - 1; i++)
    {
        if (n == solution[i]||abs(m-i)==abs(n-solution[i]))
            return false;    
    }
    return true;
}
void Queue::print_chess(int N)
{
    fout.open("F1.txt", ostream::app);
    for (int i = 1; i <= N; i++)
    {
        fout << solution[i] << "  "<<endl;        
    }
    fout << "shuhu";
    fout.close();
}
void Queue::solve(int N)
{
    Recursion(1);
    fout.open("F1.txt",ostream::app);
}
  • 写回答

2条回答

  • Ben天慕 2023-10-20 08:41
    关注

    不应该先把41行和42行调换一下吗。。

    评论

报告相同问题?

问题事件

  • 创建了问题 10月19日