HDU
来源:互联网 发布:淘宝换手机主板 编辑:程序博客网 时间:2024/06/08 02:21
Smeech
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 482 Accepted Submission(s): 109
Problem Description
Professor Octastichs has invented a new programming language, Smeech. An expression in Smeech may be a positive or negative integer, or may be of the form (p e1 e2) where p is a real number between 0 and 1 (inclusive) and e1 and e2 are Smeech expressions. The value represented by a Smeech expression is as follows:
1) An integer represents itself
2) With probability p, (p e1 e2) represents x+y where x is the value of e1 and y is the value of e2; otherwise it represents x-y.
Given a Smeech expression, what is its expected value?
1) An integer represents itself
2) With probability p, (p e1 e2) represents x+y where x is the value of e1 and y is the value of e2; otherwise it represents x-y.
Given a Smeech expression, what is its expected value?
Input
Input consists of several Smeech expressions, one per line, followed by a line containing ().
Output
For each expression, output its expected value to two decimal places.
Sample Input
7(.5 3 9)()
Sample Output
7.003.00
卡了好长时间..
题意:已知值的表达形式有它本身和(p,e1,e2)两种,给出个值,求值的直观结果,保留两位输出。(其中(p,e1,e2)=(e1+e2)*p+(e1-e2)*(1-p))#include<iostream>#include<cmath>#include<cstdio>#include<map>#include<set>#include<cstring>#include<string>#include<algorithm>#define min 1e-6using namespace std;char s[100000];int FLAG;double func1(char c){ char str[100000]; str[0]=c; int flag=1; while(str[flag++]=s[FLAG++]) if(str[flag-1]==' '||str[flag-1]=='\n'||str[flag-1]==')') break; str[flag-1]='\0'; double re; sscanf(str,"%lf",&re); return re;}double func2(){ double a[3]; FLAG++; for(int i=0; i<3; i++) if(s[FLAG]!=0) if(s[FLAG]!='(') a[i]=func1(s[FLAG++]); else a[i]=func2(); FLAG++; return (a[2]+a[1])*a[0]+(a[1]-a[2])*(1-a[0]);}int main(){ while(gets(s)&&strcmp(s,"()")) { FLAG=0; double x; if(s[0]!='(') sscanf(s,"%lf",&x); else x=func2(); printf("%.2lf\n",x); } return 0;}
阅读全文
0 0
- hdu
- hdu
- HDU
- hdu ()
- hdu
- hdu
- HDU
- HDU
- hdu
- hdu
- HDU
- Hdu
- hdu
- hdu-
- hdu
- hdu
- hdu
- HDU
- linux 删除乱码文件
- verilog语言中define,parameter和localparam的区别
- The Database Migration Assistant for Unicode (DMU) Tool (文档 ID 1272374.1)
- serialization的真情自述
- 关于fork
- HDU
- Apple移动设备处理器指令集 armv6、armv7、armv7s及arm64
- python科学计算笔记(一)NumPy中ndarray对象、ufunc运算、矩阵运算
- 【TFS权限管理】TFS(Team Foundation Server) 权限设置
- VisualC++利用CRegKey和WIN32 API获取系统硬件信息
- angularjs 多选下拉框 控件angularjs ui-select2
- 腾讯研发总监王辉:十亿级视频播放技术优化揭秘
- sakai11 在ubuntu14.04系统下踩坑
- B2C商城11 订单和购物车