C++ 中的名称冲突之 "y1"
已经是第二次遇到这个问题了:
#include <bits/stdc++.h>
using namespace std; const int N(); int dp[N][][N][][N];
int x1, x2, y1, y2; int dfs(int x1, int s, int x2, int t, int y){
int & now=dp[x1][s][x2][t][y];
if(~now) return now;
int sum=, cnt=;
if(s==){
sum+=dfs(x1, , x2, t, y-), cnt++;
if(t==)
sum+=dfs(x1, s, x2, , y-), cnt++;
else if(x2>)
sum+=dfs(x1, , x2-, t, y), cnt++;
}
else{
if(x1>) sum+=dfs(x1-, s, x2, t, y), cnt++;
if(t==)
sum+=dfs(x1, s, x2, , y-), cnt++;
else if(x2>)
sum+=dfs(x1, s, x2-, t, y), cnt++;
} if((y1+)*(-s)+(y2+)*(-t)< y) //forbidden numbers;
sum+=dfs(x1, s, x2, t, y-), cnt++; return now = sum!=cnt;
} int a[N]; int main(){
int T;
int n;
for(cin>>T; T--; ){
cin>>n;
int p;
for(int i=; i<n; i++){
cin>>a[i];
if(a[i]==) p=i;
}
x1=, x2=, y1=, y2=;
int i; for(i=p-; i>= && a[i]>a[i+]; i--, x1++); for(; i>= && a[i]<a[i+]; i--, y1++);
for(i=p+; i<n && a[i]>a[i-]; i++, x2++);
for(; i<n && a[i]<a[i-]; i++, y2++); memset(dp, -, sizeof(dp));
x1=max(x1-, ), x2=max(x2-, ); // cout<<x1<<' '<<x2<<' '<<y1<<' '<<y2<<endl;
int peak=(p!=) + (p!=n-);
for(int i=; i<=n--x1-x2-peak; i++)
dp[][][][][i]=; //error-prone int s=p==, t=p==n-; //error-prone int res=dfs(x1, s, x2, t, n--x1-x2);
// cout<<res<<endl;
puts(res==?"Alice": "Bob");
}
return ;
}
试图在终端编译,运行: (gcc version 4.8.4)
g++ main.cpp -std=c++ -o main && ./main <in
返回结果:
main.cpp::: error: ‘int y1’ redeclared as different kind of symbol
int x1, x2, y1, y2;
^
In file included from /usr/include/features.h::,
from /usr/include/assert.h:,
from /usr/include/c++/4.8/cassert:,
from /usr/include/x86_64-linux-gnu/c++/4.8/bits/stdc++.h:,
from main.cpp::
/usr/include/x86_64-linux-gnu/bits/mathcalls.h::: error: previous declaration of ‘double y1(double)’
__MATHCALL (y1,, (_Mdouble_));
^
显示变量 y1 和 C++ 标准库中的某个变量名称冲突,这个问题应当引起注意。
另外这不是头文件写成 <bits/stdc++.h> 引起的,即使换成各具体的头文件(<iostream>, <algorithm>, <ctring>)还是会发生这个错误。
具体原因及解决办法还有待研究。
C++ 中的名称冲突之 "y1"的更多相关文章
- ArcMap中的名称冲突问题
这是一个非常有趣的问题. 现在我一个点层叫"汶川73",有一个面层也叫"汶川73",使用空间连接工具来计算每个面中被落入有多少个点.但不管怎么算,结果都只能生成 ...
- jQuery 名称冲突
jQuery 名称冲突 jQuery 使用 $ 符号作为 jQuery 的简介方式. 某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号. jQuery 使用名为 ...
- hadoop+javaWeb的开发中遇到包冲突问题(java.lang.VerifyError)
1.HDFS + WEB 项目 报java.lang.VerifyError... 异常 抛异常: Exception in thread "main" java.lang.Ver ...
- LINQ-to-SQL那点事~LINQ-to-SQL中的并发冲突与应对
回到目录 在上一篇文章中提到了并发冲突,还说详细的说明在这讲来说,呵呵,那现在就说一下吧! 并发冲突产生的原因 事实上,linq to sql中的并发冲突是指记录在进行update操作时,客户端A1取 ...
- jQuery中 $ 符号的冲突问题
jQuery中 $ 符号的冲突问题是常见问题之一. 在jQuery中,$是jQuery的别名,为了书写方便,我们更习惯用$('#id')这一类的方式来书写代码.当同一页面引用了jQuery多个版本 ...
- MyEclipse中修改项目运行地址栏中项目名称
MyEclipse中修改项目运行地址栏中项目名称 1.如果出现从SVN上检出的项目名称跟运行地址栏中的项目名称不一致, 可以通过以下步骤进行修改 项目鼠标右键,单击"Properties&q ...
- org.xml.sax.SAXParseException;在实体引用中, 实体名称必须紧跟在 '&' 后面
错误信息如下:org.xml.sax.SAXParseException;在实体引用中, 实体名称必须紧跟在 ‘’&’’ 后面 出现这个错误的原因是在xml中使用&,实际上xml中不支 ...
- php获取指定文件夹中文件名称
/** * php获取指定文件夹中文件名称 * @author jackie <2018.10.10> */ public static function getFileName($fil ...
- Spring 中参数名称解析 - ParameterNameDiscoverer
Spring 中参数名称解析 - ParameterNameDiscoverer Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.ht ...
随机推荐
- Mina 中遇到SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".SLF4J: Defaulting to no-op ...
- 优化mysql主从下的slave延迟问题
一般而言,slave相对master延迟较大,其根本原因就是slave上的复制线程没办法真正做到并发.简单说,在master上是并发模式(以InnoDB引擎为主)完成事务提交的,而在slave上,复制 ...
- canvas模仿微信抢红包功能
1.原理:先创建一张img图片,用filter滤镜制作毛玻璃效果. 2.利用绝对定位,使canvas刚好盖在img上面. 3.利用canvas原生clip函数剪辑一个圆形. 地址:http://san ...
- 研:手势与眼动相结合-手势SDK的整合
Leap提供了SDK.但是整合有很多的问题,写博客记录一下: 写一个类:SampleListener.cpp以及头文件SampleListener.h. 这里主要碰到的问题是找不到以及冲突问题: 这里 ...
- jade 渲染js片段
script. str = !{JSON.stringify(val)}; res.render('wxpay', {val:result});
- echo "scale=100; a(1)*4" | bc -l 输出圆周率
突然看到echo "scale=100; a(1)*4" | bc -l可以输出圆周率,很惊奇,后来发现很简单. 首先bc是“basic calculator”的缩写,就是初级的计 ...
- Asp.net Json数据解析的一种思路
在日常的编码中,经常会遇到JSON类型的数据,有简单的,也有复杂的.对于简单的,我们可以用正则等匹配,但是一旦遇到复杂的,就比较难办了. 数据分析 目前手头上需要制作一个天气预报功能,现成的接口已经有 ...
- python数字图像处理(3):图像像素的访问与裁剪
图片读入程序中后,是以numpy数组存在的.因此对numpy数组的一切功能,对图片也适用.对数组元素的访问,实际上就是对图片像素点的访问. 彩色图片访问方式为: img[i,j,c] i表示图片的行数 ...
- Spring如何处理线程并发
Spring如何处理线程并发 我们知道Spring通过各种DAO模板类降低了开发者使用各种数据持久技术的难度.这些模板类都是线程安全的,也就是说,多个DAO可以复用同一个模板实例而不会发生冲突.我 ...
- [设计模式] javascript 之 代理模式
代理模式说明 说明:顾名思义就是用一个类来代替另一个类来执行方法功能,这个模式跟装饰模式有点相似,不一样的是,代理模式是代替客户初始化被代理对象类,而装饰模式采用接口或初装饰者参数引用的方式来执行的. ...