hdu 2986 Ballot evaluation (模拟)
上次比赛的题目,好长时间了。
这几天感冒了很难受, 直到现在才整理,
上次比赛的时候,出了各种错误, ,,,样例都没过,题目读的也很差,今天做的时候,
看了一下网上的,发现一个代码特别简洁,学习了一下。
不过,在hdu交的时候,交c++会编译错误,不知道怎么回事,两次了,G++能过。
题意:给n个字符串和它们代表的值,求下面m个式子是否成立。
字符串对应的值有一位小数, 式子上的值是整数 (比赛的时候根本 没注意这个)
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <map>
#include <algorithm>
using namespace std; int tran(char s[])
{
int a, b;
sscanf(s, "%d.%d", &a, &b);
a = a*+b;
return a;
}
bool check(int a, int b, char s[])
{
if(strcmp(s, "<")==) return a < b;
if(strcmp(s, ">")==) return a > b;
if(strcmp(s, "<=")==) return a <= b;
if(strcmp(s, ">=")==) return a >= b;
if(strcmp(s, "=")==) return a == b;
return false;
}
int main()
{
int n, m, ca, sum, ans;
char s1[], s2[];
while(cin>>n>>m)
{
map<string, int>mp;
getchar();
while(n--)
{
cin>>s1>>s2;
mp[s1] = tran(s2);
}
for(ca = ; ca <= m; ca++)
{
ans = ; sum = ;
while()
{
scanf("%s", s1);
sum += mp[s1];
scanf("%s", s2);
if(strcmp(s2, "+")!=)
break;
}
cin>>ans;
ans *= ;
printf("Guess #%d was ", ca);
check(sum, ans, s2)?cout<<"correct.":cout<<"incorrect.";
cout<<endl;
}
}
return ;
}
hdu 2986 Ballot evaluation (模拟)的更多相关文章
- hdu 2986 Ballot evaluation (Simulation)
Problem - 2986 之前在华工赛见过的一道简单的模拟,用map轻松干掉.为了精确,要全程用整型比较.轻松1y~ 代码如下: #include <cstdio> #include ...
- HDU 2986 Ballot evaluation(精度问题)
点我看题目 题意 : 给你n个人名,每个名后边跟着一个数,然后m个式子,判断是否正确. 思路 :算是一个模拟吧,但是要注意浮点数容易丢失精度,所以要好好处理精度,不知道多少人死在精度上,不过我实在是不 ...
- HDU 5510---Bazinga(指针模拟)
题目链接 http://acm.hdu.edu.cn/search.php?action=listproblem Problem Description Ladies and gentlemen, p ...
- HDU 5047 Sawtooth(大数模拟)上海赛区网赛1006
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5047 解题报告:问一个“M”型可以把一个矩形的平面最多分割成多少块. 输入是有n个“M",现 ...
- HDU 5965 扫雷 【模拟】 (2016年中国大学生程序设计竞赛(合肥))
扫雷 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submissi ...
- HDU 5935 Car 【模拟】 (2016年中国大学生程序设计竞赛(杭州))
Car Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...
- HDU 5912 Fraction 【模拟】 (2016中国大学生程序设计竞赛(长春))
Fraction Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Su ...
- hdu 4831 Scenic Popularity(模拟)
pid=4831" style="font-weight:normal">题目链接:hdu 4831 Scenic Popularity 题目大意:略. 解题思路: ...
- HDU 5538 House Building(模拟——思维)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5538 Problem Description Have you ever played the vi ...
随机推荐
- 使用libuv实现生产者和消费者模式
生产者和消费者模式(Consumer + Producer model) 用于把耗时操作(生产线程),分配给一个或者多个额外线程执行(消费线程),从而提高生产线程的响应速度(并发能力) 定义 type ...
- 怎么让LinearLayout充满ScrollView
ScrollView里只能放一个元素. 当ScrollView里的元素想填满ScrollView时,使用"fill_parent"是不管用的,必需为ScrollView设置: ...
- Vim 配置 winmanager
问题描述: winmanager是vim中插件,可以方便的查看当前文件夹中文件,可以切换vim打开文件,非常方便 现在说明安装和使用winmanager 问题解决: (1)winmanager源文件 ...
- 【BZOJ】【1877】【SDOI2009】晨跑
网络流/费用流 费用流入门题……根本就是模板题好吗! 拆点搞定度数限制,也就是每个点最多经过一次……源点汇点除外. /***************************************** ...
- C#根据日期DateTime和持续时间int找到日期
protected DateTime GetFinish(DateTime start, int duration) { return start.AddDays(duration); } prote ...
- Matlab中find函数的使用
一.问题来源 看到了 min_score_pos = find(A0_scores==min(A0_scores), 1); [r,c] = find(X,k),返回X中第k个非零元素的行列位置. 二 ...
- spoj 1108
要求输出一个牌的顺序 使每隔1.2.......n翻牌后出现1 2 3 4 5 6 7 8 9 .... n 将牌想象成n个空格 正向推 空n个位置放n 循环 需优化 #include <io ...
- 微信变声器(WeChat Voice)会是营销新利器吗
微信变声器(WeChat Voice)2.0 Android版开始内测了,时间从2015年5月20日 - 2015年6月20日,使用微信变声器改变你的声音,并分享给好友! 无论你是想装可爱还是恶搞,微 ...
- 如何实现Windows Phone代码与Unity相互通信(事件方式)
源地址:http://www.cnblogs.com/petto/p/3909063.html 一些废话 昨天写一篇今天写一篇.不是我闲的蛋疼,是今天一天碰到了好几个恼人的问题,浪费一天时间搞定.本文 ...
- linux源代码阅读笔记 高速缓冲区管理
高速缓冲区是文件系统访问块设备中数据的必经要道,为了访问文件系统等块设备上的数据,内核可以每次都访问块设备,进行读写操作. 为了提高系统性能,内核在内存中开辟一个高速数据缓冲区.在Linux内核中,高 ...