- 浏览: 150251 次
- 性别:
- 来自: 内蒙古
文章分类
最新评论
-
linest:
ethi_teye 写道id可能是0开头的,你用int保存再输 ...
pat-1022 Digital Library -
ethi_teye:
id可能是0开头的,你用int保存再输出,这些0就被忽略了。
pat-1022 Digital Library -
lixuanchong:
在lz的代码上稍作修改即可:
#include<iost ...
pat-1010* Radix -
air_sky:
确实。。result=a0*base^0+a1*base^1+ ...
pat-1010* Radix -
linest:
air_sky 写道
关于“方程只有一个正整数解,就可以用二分 ...
pat-1010* Radix
pat-1016 Phone Bills
- 博客分类:
- pat
Sample Input:10 10 10 10 10 10 20 20 20 15 15 15 15 15 15 15 20 30 20 15 15 10 10 10
10
CYLL 01:01:06:01 on-line
CYLL 01:28:16:05 off-line
CYJJ 01:01:07:00 off-line
CYLL 01:01:08:03 off-line
CYJJ 01:01:05:59 on-line
aaa 01:01:01:03 on-line
aaa 01:02:00:01 on-line
CYLL 01:28:15:41 on-line
aaa 01:05:02:24 on-line
aaa 01:04:23:59 off-line
Sample Output:CYJJ 01
01:05:59 01:07:00 61 $12.10
Total amount: $12.10
CYLL 01
01:06:01 01:08:03 122 $24.40
28:15:41 28:16:05 24 $3.85
Total amount: $28.25
aaa 01
02:00:01 04:23:59 4318 $638.80
Total amount: $638.80
按用户分组打印月账单
关键点1.处理好记录间的匹配,删掉坏的记录
2.不同时段价不同,计算好价格
此题好烦。。。。。。
#include<iostream> using namespace std; #include<vector> #include<string> #include<algorithm> struct Call { string name; int month; int date; int hour; int minute; int total; string status; }; int charge[24]; vector<Call> all_calls; vector<Call> format_calls; bool compare(Call a,Call b) { if(a.name < b.name) return 1; else if(a.name == b.name && a.total < b.total) return 1; else return 0; } void show(Call c) { cout<<c.name<<" "; cout<<c.month<<":"<<c.date<<":"<<c.hour<<":"<<c.minute<<" "; cout<<c.status<<endl; } //calculate money from the begin of month to the time given int chargeByTime(int time) { int hours = time/60; int minutes = time%60; int money = 0; int i; for(i = 0;i<hours;i++) money += charge[i%24]*60; money += charge[i%24]*minutes; return money; } double calCost(Call s,Call t) { return (double)(chargeByTime(t.total)-chargeByTime(s.total))/100; } int calLast(Call s,Call t) { return (t.date-s.date)*24*60+(t.hour-s.hour)*60+(t.minute-s.minute); } int main() { for(int i = 0;i<24;i++) cin>>charge[i]; int N; cin>>N; while(N--) { Call c; cin>>c.name; cin>>c.month; getchar(); cin>>c.date; getchar(); cin>>c.hour; getchar(); cin>>c.minute; c.total = c.minute + 60*c.hour + 24*60*c.date; cin>>c.status; all_calls.push_back(c); } sort(all_calls.begin(),all_calls.end(),compare); //filter delete those bad record bool haveonline = false; string curname; for(int i=0;i<all_calls.size();i++) { if(haveonline == false && all_calls[i].status =="on-line" ) { format_calls.push_back(all_calls[i]); haveonline = true; curname = all_calls[i].name; } else if(haveonline == true && all_calls[i].status =="on-line") { format_calls.pop_back(); format_calls.push_back(all_calls[i]); haveonline = true; curname = all_calls[i].name; } else if(haveonline == true && all_calls[i].status =="off-line"&&all_calls[i].name ==curname) { format_calls.push_back(all_calls[i]); haveonline = false; } } //the last must be offline if((*(format_calls.end()-1)).status == "on-line") format_calls.pop_back(); //output double totalcost = 0; curname = ""; for(int i=0;i<format_calls.size();i+=2) { if(format_calls[i].name != curname) { if(curname!="") { printf("Total amount: $%.2f\n",totalcost); totalcost = 0; printf("%s %02d\n",format_calls[i].name.c_str(),format_calls[i].month); } else { printf("%s %02d\n",format_calls[i].name.c_str(),format_calls[i].month); } curname = format_calls[i].name; } printf("%02d:%02d:%02d",format_calls[i].date,format_calls[i].hour,format_calls[i].minute); printf(" "); printf("%02d:%02d:%02d",format_calls[i+1].date,format_calls[i+1].hour,format_calls[i+1].minute); printf(" "); printf("%d",calLast(format_calls[i],format_calls[i+1])); printf(" "); printf("$%.2f\n",calCost(format_calls[i],format_calls[i+1])); totalcost+=calCost(format_calls[i],format_calls[i+1]); } printf("Total amount: $%.2f\n",totalcost); }
发表评论
-
pat-1018 Public Bike Management 有问题
2012-02-26 19:55 3545最后一个case还过不了 == 为什么呢 思路dfs遍历到目 ... -
pat-1017* Queueing at Bank
2012-02-25 12:32 2083银行8点至17点开 有固定窗口数 来早了要等,没窗口要等,1 ... -
pat-1021* Deepest Root
2012-02-25 00:36 2729判断图是否都连接构成树,求使树高最大的根 实际上求图上两点间 ... -
pat-1022 Digital Library
2012-02-27 14:26 1745可能的查询 ID值进行map映射 以下代码有问题,原因 ... -
pat-1020* Tree Traversals
2012-02-23 15:20 1466给后序和中序遍历 求层序遍历 Sample Input:7 ... -
pat-1019 General Palindromic Number
2012-02-23 00:26 1060判断数字在给定进制下是否回文 并打出进制转换后系数 思路,将 ... -
pat-1026 Table Tennis
2012-02-19 19:19 0题意?? 多个桌可用 vip桌可用时 队中vip还是最小号 ... -
pat-1025 PAT Ranking
2012-02-19 15:45 1313不同地点一起排序 先组内排序,再全局排序 将小组添加进全局 ... -
pat-1024 Palindromic Number
2012-02-20 00:56 1961如果不是回文则进行逆序相加操作,打印出最后回文和操作次数 题 ... -
pat-1023 Have Fun with Numbers
2012-02-19 00:26 2510判断一个数乘2后是否是原数的一个排列 思路: int最大值 ... -
pat-1015 Reversible Primes
2011-09-28 20:08 1443将数字转成指定进制,再反序,判断原数和新数是否都是质数。 ... -
pat-1009 Product of Polynomials
2011-09-19 23:31 11841009:多项式乘积。 Sample Input 2 1 2 ... -
pat-1008 Elevator
2011-09-19 23:09 8981008: 电梯上升一层6秒,下降4秒,停留5秒。给出请求序列 ... -
pat-1007 Maximum Subsequence Sum
2011-09-19 22:59 14651007:连续和最大子串。 O(n)时间即可完成,不需存储空 ... -
pat-1006 Sign In and Sign Out
2011-09-18 23:35 13961006:给出进入和离开时间,求最早来和最晚走的人 Samp ... -
pat-1005 Spell It Right
2011-09-18 22:52 10631005:计算各个数字的和,并翻译成英文。 Sample I ... -
pat-1004* Counting Leaves
2011-09-18 22:35 16861004: 统计树的每一层上叶子节点的个数 Sample I ... -
pat-1010* Radix
2011-09-17 19:36 38491010: 给出两个数,已知一个数的进制,求是否可以在某进制下 ... -
pat-1014* Waiting in Line
2011-09-17 10:42 18591014: 排队服务问题,队列实现。 注意条件控制。 # ... -
pat-1012 The Best Rank
2011-09-16 23:58 18721012: 找出最佳排名 代码有点冗余。。。用了一些stl容 ...
相关推荐
子弹法案卓越冒险 Bullet Bill的精彩冒险
产品特点:★随机播放所有NFL Buffalo Bills壁纸背景,或仅洗净您最喜欢的NFL Buffalo Bills背景壁纸。 ★便签,待办事项和提醒,事件倒计时。 ★Live NFL Buffalo Bills壁纸动画,NFL Buffalo Bills主题的屏保。 ★...
简单的qrbil 新的 CH QR-Bills 的简单生成器在此处查看实际操作: :
Create React App入门 该项目是通过引导的。 可用脚本 在项目目录中,可以运行: npm start 在开发模式下运行应用程序。 打开在浏览器中查看它。 如果您进行编辑,则页面将重新加载。 您还将在控制台中看到任何...
更新模型:bill.js pay.js 公共:js:script_bill.js 路由:bill_controller.js pay_controller.js 视图:bill_add.ejs routes.js
Shared-Bills-Splitter:使用Spring Boot控制台应用程序,JPA,图形。 JetBrains学院的Java培训项目
账单追踪应用使用Bootstrap,PHP和MYSQL制作的#Bills跟踪应用#特征 :glowing_star: :pushpin: 添加账单 :pushpin: 按月份和年份查看账单 :pushpin: 查看最近添加的账单 :pushpin: 查看按日期排序的帐单(ASC和DESC...
Oracle Bills of Material User’s Guide Release 11i
学校帐单制度 我用这个系统来计算宿舍的成绩
自动账单下载器-android Android 应用程序可自动下载经常性账单并将其存储在 Dropbox 中
我们的扩展名Buffalo Bills Wallpapers将完全改变您显示器的屏幕!您的浏览器将使用应用程序Buffalo Bills New Tab Wallpapers以新鲜的色彩播放。安装了我们的扩展程序后,您将获得美丽多彩的背景,您可以在工作中...
使用Bills Image-Uploader&Resizer,您可以将JPEG和PNG或GIF文件上传到您的服务器。 它会自动调整图像文件的大小并创建缩略图。 优化用于phpCMS(www.phpcms.de)-需要GD-Lib。
简单的账单追踪器,可以跟踪您的账单(信用卡,家庭等)。
自定义您的Chrome的新标签页,并与每个新标签享受NFL布法罗比尔为主题的壁纸图像。 请给我们评分! 如果您觉得我们不值得5星级,请给我们发送电子邮件或先致电给我们! 我们希望收到你的来信! ...
NULL 博文链接:https://lei1609.iteye.com/blog/397771
使用springboot开发技术和mysql数据库,能够给刚刚学完springboot的同学提供小小的实战
安全的移动数据计费(mdc)对蜂窝网络至关重要 操作。它必须向正确的用户收取正确的音量 (s)他授权使用(即认证要求, 授权和会计(AAA)。在这项工作中,我们 蜂窝网络中mdc系统的安全性分析。...
一个微型的移动网络应用程序,可帮助您轻松拆分欢乐时光账单。 跑步 npm install -g yarn yarn yarn start