Gym 100625A 间谍租车问题-简单模拟-(map的使用)
2015-08-11 18:28
344 查看
题意:输入多种车的事故赔偿价格、租车起步价、每千米单价,输入多个人的多种事件(租车、还车、发生事故),按名字字典序输出每个人的总费用,如果信息不完整或不合法输出“inconsitent"(租车、事故、还车的顺序得对,一个人同时期不能租多辆车,租车还车要完整不能只租不还或没租却还)
分析:这题就是一个简单的模拟,复杂在我不知道怎么用string做关键字,知道了map,一切都好办了。小trick:一个人可以多次租车还车。
代码:
分析:这题就是一个简单的模拟,复杂在我不知道怎么用string做关键字,知道了map,一切都好办了。小trick:一个人可以多次租车还车。
代码:
#include<iostream> #include<cstdio> #include<cmath> #include<algorithm> #include<string> #include<cstring> #include<map> using namespace std; int t,n,m; struct node1{ int a,b,c; }; struct node2{ int time; string a,b; int state,ans; string car; node2(int state=0,int ans=0):state(state),ans(ans){} }; map<string,node1> car; map<string,node2> man; int main() { cin>>t; while(t--){ car.clear(); man.clear(); cin>>n>>m; string s; int a,b,c; while(n--){ cin>>s>>a>>b>>c; car[s].a=a; car[s].b=b; car[s].c=c; } string x,y,z; while(m--){ cin>>a>>x>>y>>z; man[x].a=y,man[x].b=z; if(man[x].state!=-1){ if(y=="p"){ if(man[x].state==0||man[x].state==2){ man[x].state=1; man[x].car=z; man[x].ans+=car[z].b; } else{ man[x].state=-1; } } else if(y=="r"){ if(man[x].state==1){ man[x].state=2; int ans=0; for(int i=0;i<z.size();i++){ ans=ans*10+(z[i]-'0'); } man[x].ans+=ans*car[man[x].car].c; } else man[x].state=-1; } else if(y=="a"){ if(man[x].state==1){ int ans=0; for(int i=0;i<z.size();i++){ ans=ans*10+(z[i]-'0'); } man[x].ans+=(int)ceil((double)ans*car[man[x].car].a/100); } else man[x].state=-1; } } } map<string,node2>::iterator it; for(it=man.begin();it!=man.end();it++){ if(((*it).second.state!=2)) cout<<(*it).first<<" INCONSISTENT"<<endl; else cout<<(*it).first<<" "<<(*it).second.ans<<endl; } } }
相关文章推荐
- ajax dataType:"json"问题
- C#--多播委托
- Gradle基础
- i2c_drivers个人分析
- cordova for iOS 开发记录
- Android 工具类】常用工具类(方法)大全
- 2015-08-11 [今日头条]--数据抓取和处理工程师--1面
- Cacti添加threshold、monitor和setting
- 使用 /proc 文件系统来访问 Linux 内核的内容
- Linux的运行级别
- Mac OSX下使用apt-get命令
- ASP.NET 页面禁止被 iframe 框架引用
- C编程的指针涛 ---第九笔记
- (持续更新)日积月累——iOS开发过程中遇到的一些小问题
- web开发中特殊字符的对应值与转义字符(转载)
- application/x-www-form-urlencoded和multipart/form-data
- django安装tinymce
- HTML5本地存储Localstorage
- hdu5375Gray code dp
- Hibernate的持久化类