奇怪的错误

#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
int a[100],b[2][100];
int n,s=0;
void dfs(int cur){
 cout<<n<<endl;
 if (cur==n){
  for (int i=1;i<n;i++)cout<<a[i]<<" ";
  cout<<a[n]<<endl;
  s++;
  return;
 }
 for (int i=1;i<=n;i++)
  if(!b[0][i]&&!b[1][cur+1-i+n]&&!b[2][cur+1+i]) {
   a[cur+1]=i;
   b[0][i]=1;
   b[1][cur+1-i+n]=1;
   b[2][cur+1+i]=1;
   dfs(cur+1);
   b[0][i]=0;
   b[1][cur+1-i+n]=0;
   b[2][cur+1+i]=0;
  }
}
int main(){
 memset(a,0,sizeof(a));
// memset(b,0,sizeof(b));//初始化后b[2]并不是0
 cin>>n;
 cout<<n<<endl;
 for (int i=0;i<=2;i++){ 
  for (int j=0;j<=n+n;j++) b[i][j]=0;
   cout<<i<<":"<<n<<endl;//n在i=2后为什么会变为0
 }
 
 dfs(0);
 cout<<n<<endl;
 cout<<s<<endl;
 return 0;
}

解决方法:变量定义的位置交换,先定义变量后定义数组,问题解决?可这是为什么呢,难道系统会给不同的变量分配相同的存储空间?

#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;

int n,s=0;
int a[100],b[2][100];

void dfs(int cur){
 cout<<n<<endl;
 if (cur==n){
  for (int i=1;i<n;i++)cout<<a[i]<<" ";
  cout<<a[n]<<endl;
  s++;
  return;
 }

时间: 2024-11-09 03:56:51

奇怪的错误的相关文章

Unity3d报告奇怪的错误CompareBaseObjectsInternal can only be called from the main thread.

其中使用了该项目.NET的Async Socket代码.后来不知道什么时候这个奇怪的错误的出现: CompareBaseObjectsInternal can only be called from the main thread. Constructors and field initializers will be executed from the loading thread when loading a scene. Don't use this function in the con

could not build module &#39;XXXXXXXX&#39;或者error: expected identifier or &#39;(&#39; 。一堆奇怪的错误————错误根源

一堆奇怪的错误:1??could not build module 'XXXXXXXX' 2??error: expected identifier or '(' 3??EDIT Setting Precompile prefix header = No results in a bunch of syntax errors instead, in stuff like NSObject.h (and other 4??Foundation framework header) 5??EDIT U

java.sql.SQLException: Field &#39;id&#39; doesn&#39;t have a default value(用eclipse操作数据库时报了这种奇怪的错误)的原因与解决方法

1.错误原因 由于id在数据库表中是作为主键,但是在插入的过程中,没有给予数值,并且没有让其自增 2.解决办法 修改数据库表中的id,让其自增(在插入的过程中,不插入id数据时) java.sql.SQLException: Field 'id' doesn't have a default value(用eclipse操作数据库时报了这种奇怪的错误)的原因与解决方法 原文地址:https://www.cnblogs.com/zyt-bg/p/8385972.html

PHP 5.3 存在的两个奇怪的错误,盼高手解答!

1 试验环境 CentOS 6 + PHP 5.3.3,2015年2月26日,已通过yum更新到最新状态. 2 错误描述 2.1 basename()函数对UTF-8编码的路径返回错误结果. 这个非常容易验证,建立一个UTF-8编码的php源文件 test.php,内容如下: <?php $utf8Dir = '/var/www/html/小猫b.txt'; echo basename($utf8Dir); echo '<br/>'; $utf8Dir = '/var/www/html/

在spark中遇到了奇怪的错误,找到了奇怪的解决方法

这两天一直在写spark程序,遇到了一个奇怪的问题. 问题简单描述如下,有两个RDD,设为rdd_a,rdd_b,当将这两个rdd合并的时候,spark会在运行中卡死. 解决方式也是奇葩. 只要在合并这两个rdd之前,分别执行rdd_a.count(),rdd_b.count(),程序就又能够愉快的走下去了. 参考: stackOverFlow

JS 在 IE9 中出现奇怪的错误(参数是必选项 argument not optional)

最近发现之前运行正常的网站,在 IE9 下会报这个错误.网上查了一下,发现是跟我的方法名字有关... 我起了一个叫做 addFilter 名字的方法,但是很不巧,IE9 里也有一个这个名字的方法,所以冲突了... 只能改个名字了! 参考来源:http://blog.163.com/liangge_sky/blog/static/210500188201502801149744/

maven 编译的时候总是报一些奇怪的错误 比如 surefire-boot 2.10 .jar 可是私服里查看本来就没有这个高的版本。

或者私服总是 报 read time out , 或者  io 错误,  或者 gzip 解压错误,或者总是尝试下载一些高版本的jar , 而这些jar 可能是不存在的 .. 尝试 重新下载 apache-maven-3.0(版本不定).. 如果还是不行的 , 请更换其他 maven 版本试试 ..

解决奇怪的错误。访问的网页一直被拦截

提示出错: 遇到有错误提示一定要解决,很可能就是这个问题导致逻辑上的错误. 原文地址:https://www.cnblogs.com/minconding/p/10347069.html

Hive安装(三)之奇怪的错误

启动hive命令报错 “Metastore contains multiple versions” 解决方案: 因为hive metastore存储在mysql中,所以登录mysql,use hive所使用的DB,然后 查询下VERSION表 1 mysql> select * from VERSION; 2 3 +——–+—————-+——————+ 4 | VER_ID | SCHEMA_VERSION | VERSION_COMMENT | 5 +——–+—————-+——————+ 6