Parlay Wagering
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2833
题意:讲述了一种投小钱赢大钱的赌博方式,初始投入钱m,如果本局赢了,将钱连本带利投入下一局继续赌博。如果本局输了,之前得到的钱全部清零,如果打平,本局不赢钱。每局投入的钱数不能大于一百万,计算连本带利赢得的钱数,如果大于一百万则按赢了一百万。输入t组,然后是初始投入的钱m与赌博的局数n。在n局中,给出每局的Money Line,用于作为比率计算本局赢得的钱数。如果Money Line 大于0,则比率为Money Line/100,结果截取3位小数;否则,比率为100/Money Line,结果截取3位小数。每局赢得的钱数(截取两位小数)=当前投入的赌注*比率。最后得到的钱整数部分按每3位输出一个“,”的形式。
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#include <stack>
using namespace std;
const int N=;
#define LL long long
struct ndoe
{
LL x;
string s;
} a[N];
char ss[N];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
double m;
int n;
scanf("%lf%d",&m,&n);
for (int i = ; i < n; i++)
{
cin>>a[i].x>>a[i].s;
}
LL sum = m*;
for (int i = ; i < n; i++)
{
if (a[i].s=="Tie")
continue;
else if (a[i].s=="Loss")
{
sum = ;
continue;
}
else
{
LL t1,t2;
if (a[i].x > )
{
t1 = a[i].x*;
t2 = sum*t1/;
sum+=t2;
}
else
{
t1 = */(-a[i].x);
t2 = sum*t1/;
sum+=t2;
}
}
if (sum >= ) sum=;
}
if (sum >= ) sum=;
double ans = sum*0.1/;
sprintf(ss,"%.2f",ans);
stack<char>p;
int i,cnt = ;
printf("$");
for (i = strlen(ss)-; i >= ; --i)
{
p.push(ss[i]);
if (ss[i]=='.')
break;
}
for (int j = i-; j >= ; --j)
{
cnt++;
p.push(ss[j]);
if (cnt%==&&j!=)
p.push(',');
}
while(!p.empty())
{
char ch = p.top();
printf("%c",ch);
p.pop();
}
puts("");
}
return ;
}
Parlay Wagering的更多相关文章
- URAL 1936 Roshambo 题解
http://acm.timus.ru/problem.aspx?space=1&num=1936 F - Roshambo Time Limit:1000MS Memory Limit:65 ...
- 从商业角度探讨API设计
为Web设计.实现和维护API不仅仅是一项挑战:对很多公司来说,这是一项势在必行的任务.本系列将带领读者走过一段旅程,从为API确定业务用例到设计方法论,解决实现难题,并从长远的角度看待在Web上维护 ...
- URAL 1936 Roshambo(求期望)
Description Bootstrap: Wondering how it's played? Will: It's a game of deception. But your bet inclu ...
随机推荐
- 使用JavaScript制作一个好看的轮播图
目录 使用JavaScript制作出好看的轮播图效果 准备材料 1.图片若干张(包括轮播图和按钮的图片) 2.将按钮的图片应用到按钮上的CSS样式文件 3.实现轮播和点击跳转的JavaScript代码 ...
- libevent reference Mannual V -- Bufferevents
FYI: http://www.wangafu.net/~nickm/libevent-book/Ref6_bufferevent.html Bufferevents: concepts and ba ...
- dual boot
https://askubuntu.com/questions/1031993/how-to-install-ubuntu-18-04-alongside-windows-10 https://www ...
- 08.C语言:特殊函数
C语言:特殊函数 1.递归函数: 与普通函数比较,执行过程不同,该函数内部调用它自己,它的执行必须要经过两个阶段:递推阶段,回归阶段: 当不满足回归条件,不再递推: #include <stdi ...
- DemoKit编译过程
E:\Project_code\EAE\src_rev_24139_A95LYD\Project\DemoKit>make release Checking uITRON - DemoKit r ...
- 创建Maven版Java工程
步骤: 创建成功后,如图:
- HUST 1214 Cubic-free numbers II
Cubic-free numbers II Time Limit: 10000ms Memory Limit: 131072KB This problem will be judged on HUST ...
- HDU 2604 矩阵快速幂
题目大意 给定长度为l的只有f,m两种字母 的序列,问不出现fff,fmf的序列个数有多少个 每次的下一个状态都与前一次状态的后两个字母有关 比如我令mm : 0 , mf : 1 , fm : 2 ...
- [luoguP1586] 四方定理(DP 背包)
传送门 相当于背包, f[i][j] 表示当前数为 i,能分解成 j 个数的平方的和的数量 那么就是统计背包装物品的数量 ——代码 #include <cmath> #include &l ...
- 使用spring框架提供的处理中文乱码的过滤器
在web-xml中直接写上spring框架提供的过滤器即可 <filter> <filter-name>encoding</filter-name> <fil ...