UVa 139 Telephone Tangles
题目分析本题是一道电话计费模拟题要求根据拨打的号码和通话时长结合给定的区号或国家代码与费率表计算出每一通电话的费用。输入格式输入分为两部分费率表每行格式为代码 地区名称$每分钟费用美分地区名称不超过252525个字符费率以美分为单位。此部分以一行000000结束。通话记录每行格式为号码 时长分钟号码与时长之间至少有一个空格。此部分以一行#结束。号码分类国际长途IDD\texttt{IDD}IDD以00开头后接111至333位国家代码再后接444至101010位用户号码。国内长途STD\texttt{STD}STD以0开头但非00后接111至555位区号再后接444至777位用户号码。本地通话不以0开头免费。无效号码若号码以0或00开头但未在费率表中找到匹配的代码或用户号码长度不符合规定则视为Unknown费用为−1.00-1.00−1.00。输出格式输出每行包含拨打的号码左对齐宽度161616地区名称用户号码通话时长右对齐宽度555每分钟费用右对齐宽度666保留两位小数总费用右对齐宽度777保留两位小数若为未知号码则每分钟费用处留空。解题思路步骤分解解析费率表将每行的代码、地区名称、费率分别提取出来存储在一个结构体数组中。处理通话记录对每条记录提取号码和时长。根据号码前缀判断类型若以00开头尝试匹配国际代码。若以0开头非00尝试匹配国内区号。否则为本地通话。匹配时需检查用户号码长度是否符合规定。若未匹配成功则为Unknown。计算费用费率以美分存储计算时需除以100.0100.0100.0转换为美元。格式化输出使用cout的格式化输出功能如setw、setprecision控制对齐与精度。关键点匹配代码时使用find判断前缀是否一致。用户号码长度需在匹配后验证。输出格式需严格对齐包括空格数量。代码实现// Telephone Tangles// UVa ID: 139// Verdict: Accepted// Submission Date: 2016-01-19// UVa Run Time: 0.085s//// 版权所有C2016邱秋。metaphysis # yeah dot net#includebits/stdc.husingnamespacestd;structprice{string code;string area;intcost;};intmain(){string line;vectorpriceprices;// 处理第一部分输入while(getline(cin,line),line.find(000000)!0){string code,area,fee;intindex0;while(indexline.length()isdigit(line[index]))codeline[index];// 跳过空格直到 $ 都属于国家或地区名称index;while(indexline.length()line[index]!$)arealine[index];// 跳过 $index;while(indexline.length()){if(isdigit(line[index]))feeline[index];index;}// cout code area fee endl;prices.push_back((price){code,area,stoi(fee)});}// 处理第二部分输入并输出while(getline(cin,line),line!#){intindex0;string calledNumber,duration;while(indexline.length()isdigit(line[index]))calledNumberline[index];while(indexline.length()isblank(line[index]))index;while(indexline.length()isdigit(line[index]))durationline[index];string area,subscriber;doublecost,totalCost;boolunknowntrue;for(inti0;iprices.size();i){if(calledNumber.find(prices[i].code)0){areaprices[i].area;subscribercalledNumber.substr(prices[i].code.length());if(calledNumber.find(00)0){if(subscriber.length()4||subscriber.length()10)continue;}elseif(calledNumber.find(0)0){if(subscriber.length()4||subscriber.length()7)continue;}costprices[i].cost/100.00;totalCoststoi(duration)*cost;unknownfalse;break;}}if(unknown){if(calledNumber.find(00)0||calledNumber.find(0)0){areaUnknown;subscriber.clear();totalCost-1.0;}else{areaLocal;subscribercalledNumber;cost0.00;totalCost0.0;unknownfalse;}}cout.setf(ios::fixed);coutsetw(16)leftcalledNumber;coutarea;coutstring(35-area.length()-subscriber.length(), );coutsubscriber;coutsetw(5)rightduration;if(unknown)coutstring(6, );elsecoutsetw(6)rightsetprecision(2)cost;coutsetw(7)rightsetprecision(2)totalCost;coutendl;}return0;}总结本题主要考察字符串处理与格式化输出能力同时需要注意细节处理如号码长度验证、费用单位转换。通过合理设计数据结构并逐步匹配即可正确计算并输出每通电话的费用。

相关新闻

These Derived Test Requirements (DTRs) aregrouped into four major sections within this document:

These Derived Test Requirements (DTRs) aregrouped into four major sections within this document:

DTR Module 1: Physical and Logical Requirements ▪ DTR Module 2: POS Terminal Integration Requirements ▪ DTR Module 3: Communications and Interfaces ▪ DTR Module 4: Life Cycle Security Requirements

2026/7/9 19:02:23 阅读更多 →
基于信息保存的图像检索哈希算法!

基于信息保存的图像检索哈希算法!

在图像检索领域,哈希算法通过将图像内容转化为一段紧凑的二进制编码(哈希码),实现了高效且存储成本低的相似性搜索。其核心目标是确保内容相似的图像产生的哈希码也相似,从而通过计算哈希码之间的汉明距离快速找到近似…

2026/7/5 16:47:35 阅读更多 →
基于Python的设计自主学习系统后端 计算机毕业设计选题 计算机毕设项目 前后端分离【源码-文档报告-代码讲解】

基于Python的设计自主学习系统后端 计算机毕业设计选题 计算机毕设项目 前后端分离【源码-文档报告-代码讲解】

🎓 作者:计算机毕设小月哥 | 软件开发专家 🖥️ 简介:8年计算机软件程序开发经验。精通Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等技术栈。 🛠️ 专业服务 🛠️ 需求定制化开发源码提…

2026/7/3 17:27:22 阅读更多 →

最新新闻

从代码到图表:Mermaid Live Editor如何让技术文档“活“起来

从代码到图表:Mermaid Live Editor如何让技术文档“活“起来

从代码到图表:Mermaid Live Editor如何让技术文档"活"起来 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/merma…

2026/7/10 21:05:23 阅读更多 →
Qbot量化交易框架:模块化架构与AI驱动的投研系统设计

Qbot量化交易框架:模块化架构与AI驱动的投研系统设计

Qbot量化交易框架:模块化架构与AI驱动的投研系统设计 【免费下载链接】Qbot [🔥updating ...] AI 自动量化交易机器人(完全本地部署) AI-powered Quantitative Investment Research Platform. 📃 online docs: https://ufund-me.github.io/Qb…

2026/7/10 21:05:23 阅读更多 →
5步深度定制:解锁daily_stock_analysis的高级配置潜能

5步深度定制:解锁daily_stock_analysis的高级配置潜能

5步深度定制:解锁daily_stock_analysis的高级配置潜能 【免费下载链接】daily_stock_analysis LLM 驱动的多市场股票智能分析系统:多源行情、实时新闻、决策看板与自动推送,支持零成本定时运行。 LLM-powered multi-market stock analysis sy…

2026/7/10 21:05:23 阅读更多 →
动态激活量化vs静态权重量化:Qwen3.5-397B-A17B-MoE-MXFP4量化策略深度解析

动态激活量化vs静态权重量化:Qwen3.5-397B-A17B-MoE-MXFP4量化策略深度解析

动态激活量化vs静态权重量化:Qwen3.5-397B-A17B-MoE-MXFP4量化策略深度解析 【免费下载链接】Qwen3.5-397B-A17B-MoE-MXFP4 项目地址: https://ai.gitcode.com/hf_mirrors/amd/Qwen3.5-397B-A17B-MoE-MXFP4 在AI模型部署领域,量化技术已成为降低…

2026/7/10 20:58:58 阅读更多 →
如何集成Cosmos3-Nano-Policy-DROID到现有机器人系统:API接口与SDK使用

如何集成Cosmos3-Nano-Policy-DROID到现有机器人系统:API接口与SDK使用

如何集成Cosmos3-Nano-Policy-DROID到现有机器人系统:API接口与SDK使用 【免费下载链接】Cosmos3-Nano-Policy-DROID 项目地址: https://ai.gitcode.com/hf_mirrors/nvidia/Cosmos3-Nano-Policy-DROID Cosmos3-Nano-Policy-DROID是一款先进的机器人策略模型…

2026/7/10 20:58:58 阅读更多 →
Mac Mouse Fix:为什么你的普通鼠标在macOS上总是不顺手?这个免费开源工具能解决所有痛点

Mac Mouse Fix:为什么你的普通鼠标在macOS上总是不顺手?这个免费开源工具能解决所有痛点

Mac Mouse Fix:为什么你的普通鼠标在macOS上总是不顺手?这个免费开源工具能解决所有痛点 【免费下载链接】mac-mouse-fix Mac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad! 项目地址: https://gitcode.com/GitHub_Trending/ma/mac…

2026/7/10 20:56:57 阅读更多 →

日新闻

STM32与LTC1864高精度ADC的SPI通信实现

STM32与LTC1864高精度ADC的SPI通信实现

1. 项目背景与核心需求在工业控制和嵌入式系统开发中,模拟信号与数字系统的无缝集成一直是工程师面临的关键挑战。LTC1864作为一款16位高精度ADC转换器,配合STM32F101ZG这类主流微控制器,能够构建高性能的模拟信号采集系统。这种组合特别适合…

2026/7/10 0:03:07 阅读更多 →
猫抓插件:浏览器资源嗅探与视频下载的终极解决方案

猫抓插件:浏览器资源嗅探与视频下载的终极解决方案

猫抓插件:浏览器资源嗅探与视频下载的终极解决方案 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 还在为网页视频无法下载而烦恼吗&am…

2026/7/10 0:05:09 阅读更多 →
直流有刷电机驱动方案:TC78H653FTG与MKV46F256VLH16应用

直流有刷电机驱动方案:TC78H653FTG与MKV46F256VLH16应用

1. 直流有刷电机驱动方案概述在工业自动化和消费电子领域,直流有刷电机因其结构简单、控制方便、成本低廉等优势,仍然是许多应用场景的首选驱动方案。TC78H653FTG作为东芝推出的新一代H桥驱动器,与MKV46F256VLH16微控制器配合使用&#xff0c…

2026/7/10 0:05:09 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/10 19:03:29 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/9 13:46:46 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/9 21:41:05 阅读更多 →

月新闻