这是我的代码,当我干运行它,它工作很好,但不在编译器为什么??
提前感谢!!! 请帮忙,我试了3个小时,我的解决方案几乎是一样的,但当我在网上找到它的时候,它是用固定值在这里完成的:https://www.techiedelight.com/print-compossible-solutions-n-queens-problem/
'''
// =========================================
#include<iostream>
#include<cstring>
using namespace std;
bool valid (char **arr , int r, int c , int n)
{
bool present = true;
for (size_t i = 0; i < n; i++)
{
if(arr [i][c] == 'Q')
{
present = false ;
}
}
// For right diagonal
for (size_t i = r , j = c; j>=0 && i>= 0; i++ , j--)
{
if(arr[i][j]== 'Q')
{
present = false;
}
}
// for left diagonal
for (size_t i = r , j = c ; i >= 0 && j< n; i-- , j++)
{
if(arr[i][i] == 'Q')
{
present = false ;
}
}
return present;
}
void nqueen(char **arr, int n , int count, int row)
{
//Base Case
if(row == n)
{
for (size_t i = 0; i < n; i++)
{
for (size_t j = 0; j < n; j++)
{
cout<<arr[i][j]<<" ";
}
cout<<endl;
}
return;
}
//Recursive Case
//Main key here is that you need to travel every single
//column in each row and then you have to go for column
for (size_t i = 0; i < n; i++)
{
if(valid(arr, row, i , n))
{
arr[row][i] = 'Q';
nqueen(arr, n , count++ ,row ++);
arr[row][i] = '-';
}
}
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin) ;
freopen("output.txt", "w", stdout) ;
#endif
ios_base::sync_with_stdio(false);
cin.tie(NULL) ; cout.tie(NULL) ;
int n;
cin>>n;
// cout<<n;
char **arr = new char * [n];
for (size_t i = 0; i < n; i++)
{
arr[i] = new char [n];
}
for (size_t i = 0; i < n; i++)
{
for (size_t j = 0; j < n; j++)
{
arr[i][j] = '-';
}
}
// cout<<"Hello world.";
//memset(arr , '-' , sizeof arr);
nqueen (arr, n , 0 , 0);
return 0;
}
'''
我相信您不是要为添加的每一个皇后增加行数
arr[row][i] = 'Q';
nqueen(arr, n , count++ ,row ++);
arr[row][i] = '-';
应该是
arr[row][i] = 'Q';
nqueen(arr, n , count++ ,row + 1);
arr[row][i] = '-';
我的任务是创建一个名为MyRectangle的类来表示矩形。 所需的数据字段是宽度、高度和颜色。宽度和高度使用双数据类型,颜色使用字符串。然后编写一个程序来测试MyRectangle类。在客户端程序中,创建两个MyRectangle对象。为两个对象中的每一个指定宽度和高度。将第一个对象指定为红色,将第二个对象指定为黄色。显示两个对象的所有属性,包括其面积。 我已经写了所有的东西,没有错误,但是无论
我正在尝试解决数组旋转的程序。我在代码中遇到分段错误。有人能告诉我这个代码中的问题在哪里吗? 这就是问题所在 给定一个大小为N的未排序数组arr[],将其旋转D元素(顺时针)。 输入的第一行包含T表示测试用例的数量。每个测试用例的第一行包含两个空格分隔的元素,N表示数组的大小,整数D表示旋转的数字大小。随后的行将是N个空格分隔的数组元素。 我已经用下面的代码解决了它。
我是一个大口新手,实际上一切都很好,但不是萨斯编译器,像…根本不起作用。 下面是我的github repo(没有node_modules),但我希望所有内容都在gulpfile.js和package.json中;https://github.com/danielklys7/Portfolio 我尝试了几乎所有的东西,主要是在scss但是我把它改成了我最近工作的sass。 我希望我的gulp配置能正
我正在尝试运行一个简单的ScalatraServlet。 当我编译时,我可以看到它无法导入我的任何Scalatra组件。奇怪的是,尽管我使用的是Scala 2.11,它还是试图编译到一个名为scala-2.10/class的目录。 我的项目出了什么问题? 这是我的SBT配置:
我想用一个2D数组找到方差和标准差,我做了程序,但输出是不正确的。请帮助我,我应该做什么/修改它,以获得请求输出。 输入 3 4 1 0 1 1 1 1 1 1 1 1 1 解决方案输出 0.07513148009038192 0.27410122234383033 预期产出 0.0764 0.2764 我的程序:
很久以前,我在一个论坛上偶然发现了一个有趣的问题,我想知道答案。 请考虑以下 C 函数: 这应该总是返回< code>false,因为< code>var3 == 3000。< code>main函数如下所示: 由于 应始终返回 ,因此期望程序仅将一个 false 打印到屏幕上。但是在编译并运行它之后,还会显示执行: 这是为什么?这段代码有某种未定义的行为吗? 注意:我用
问题内容: 我刚刚在Windows Vista上安装了JDK。之后,我为4个环境变量设置了适当的值:classpath,include,lib,path。之后,我可以编译我的HelloWorld程序(我得到了* .class文件)。但是,当我尝试执行已编译的程序(我键入java HelloWorldApp)时,它不起作用。Java写了很多东西,最后写成“找不到主类:HelloWorldApp”。请
leetcode上的问题是:给定一个整数x,如果x是回文整数,则返回true。 当一个整数向后读取和向前读取相同的内容时,它就是一个回文。例如,121是回文,而123不是。 这是我的代码。 我很确定我的逻辑是正确的,但我在NetBeans上测试时没有发现错误,得到的结果是121是正确的,但10是正确的,因为它不是回文,所以应该是错误的?我很困惑,希望能得到一些帮助,更好地理解逻辑。