bnuoj 29368 Check the Identity(栈)
http://www.bnuoj.com/bnuoj/problem_show.php?pid=29368
【题解】:模拟,然后对x,进行枚举,看是否所有都满足条件
【code】:
#include <iostream>
#include <stdio.h>
#include <math.h>
#include <algorithm>
#include <list>
#include <string>
#include <string.h> using namespace std; double stack[];
int s_cnt; double fabs(double a)
{
return a>?a:-a;
} char op[];
int len; int checkRight(double x)
{
int i;
s_cnt = -;
for(i=;i<len;i++)
{
char ch = op[i];
if(ch=='x')
{
s_cnt++;
stack[s_cnt] = x;
}
else if(ch=='s')
{
stack[s_cnt] = sin(stack[s_cnt]);
}
else if(ch=='c')
{
stack[s_cnt] = cos(stack[s_cnt]);
}
else if(ch=='t')
{
stack[s_cnt] = tan(stack[s_cnt]);
}
else if(ch=='-')
{
stack[s_cnt-] = stack[s_cnt-] - stack[s_cnt];
s_cnt--;
}
else if(ch=='+')
{
stack[s_cnt-] = stack[s_cnt]+stack[s_cnt-];
s_cnt--;
}
else if(ch=='*')
{
stack[s_cnt-] = stack[s_cnt]*stack[s_cnt-];
s_cnt--;
}
}
if(fabs(stack[])>1e-) return ;
return ;
} int main()
{
int t,cas=;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
int i;
char str[];
s_cnt = -;
len = ;
for(i=;i<n;i++)
{
scanf("%s",str);
op[len] = str[];
len++;
}
double l=-,r=;
double step = 4.0/;
int flag=;
for(;l<=r;l++)
{
if(!checkRight(l))
{
flag=;
break;
}
}
printf("Case %d: ",cas++);
if(!flag)
{
puts("Yes");
}
else
{
puts("No");
}
}
return ;
}
bnuoj 29368 Check the Identity(栈)的更多相关文章
- BNU29368:Check the Identity(栈)
Just determine whether an algebraic expression can always simplify to zero. Input The first line con ...
- 【ASP.NET Identity系列教程(二)】运用ASP.NET Identity
注:本文是[ASP.NET Identity系列教程]的第二篇.本系列教程详细.完整.深入地介绍了微软的ASP.NET Identity技术,描述了如何运用ASP.NET Identity实现应用程序 ...
- ASP.NET Identity 二 (转载)
来源:http://www.cnblogs.com/r01cn/p/5180892.html#undefined 推荐看原文,这里转载是怕好文章消失了. 注:本文是[ASP.NET Identity系 ...
- ASP.NET Identity系列教程-3【运用ASP.NET Identity】
https://www.cnblogs.com/r01cn/p/5180892.html 14 运用ASP.NET Identity In this chapter, I show you how t ...
- 关于refs/for/ 和refs/heads/
1. 这个不是git的规则,而是gerrit的规则, 2. Branches, remote-tracking branches, and tags等等都是对commite的引用(re ...
- CLR via C# 3rd - 05 - Primitive, Reference, and Value Types
1. Primitive Types Any data types the compiler directly supports are called primitive types. ...
- [转]Installing SharePoint 2013 on Windows Server 2012 R2
转自:http://www.avivroth.com/2013/07/09/installing-sharepoint-2013-on-windows-server-2012-r2-preview/ ...
- 《Effective C#》:区别和认识四个判等函数
.Net有四个判等函数?不少人看到这个标题,会对此感到怀疑.事实上确是如此,.Net提供了ReferenceEquals.静态Equals,具体类型的Equals以及==操作符这四个判等函数.但是这四 ...
- 【转】区别和认识.Net四个判等函数
原文地址:不详 .Net有四个判等函数?不少人看到这个标题,会对此感到怀疑.事实上确是如此,.Net提供了ReferenceEquals.静态Equals,具体类型的Equals以及==操作符这四个判 ...
随机推荐
- 转:iOS基于MVC的项目重构总结
转:http://www.cocoachina.com/ios/20160519/16346.html 关于MVC的争论 关于MVC的争论已经有很多,对此我的观点是:对于iOS开发中的绝大部分场景来说 ...
- IOS下视频监控项目总结
一.项目说明 二.技术点 1.数据缓存 2.storyboard的使用 3.h264码流数据的解码 4.UDP通讯 三.解决方案 四.总结 五.相关资料
- C#/.NET使用HttpWebRequest、SqlBulkCopy从API获取数据批量插入DB
小弟新手程序员一枚,代码技术和文章水平均不才.所写文章均为对自己所写所学代码的简单记录,可能对于老手程序员营养价值不高,望莫见怪. 我工作上有个需求:从某处API接口上获取数据(大约1W条而已)并插入 ...
- hive创建表带中文注释报错解决方法
hive创建带有中文注释的表报错: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask ...
- 申请Android Map 的API Key(v2)的最新申请方式(SHA1密钥)
申请Android Map 的API Key(v2)的最新申请方式(SHA1密钥)具体步骤如下: ...
- vs如何新建自己工程的环境变量(局部)和 Windows系统(全局).
来源:http://blog.csdn.net/jtop0/article/details/7574139 在vs2008的Project->Property设置里经常会看到类似$ ...
- Cocos2d-x加速度计
加速度计是一种能够感应设备一个方向上线性加速度的传感器.广泛用于航空.航海.宇航及武器的制导与控制中.线加速度计的种类很多,在iOS等移动设备中目前采用的是三轴加速度计,可以感应设备上X.Y.Z轴方向 ...
- Unity连接本地数据库sqlite
首先要创建一个sqlite的数据库,记住文件地址,拷贝到Assets目录下,创建的数据库文件后缀为.sqlite.具体创建方法百度sqlite 然后百度Mono.Data.Sqlite,这是一个dll ...
- C++通过域名获取IP地址的方法;调试通过!
BOOL GetIpByDomainName(][],int *nCount) { WSADATA wsaData; ]; HOSTENT *pHostEnt; ; struct sockaddr_i ...
- flex 弹性盒子模型一些案例.html
Flexbox是布局模块,而不是一个简单的属性,它包含父元素和子元素的属性. Flex元素是可以让你的布局根据浏览器的大小变化进行自动伸缩. 自适应导航 <ul class="navi ...