博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[cpp]伯乐在线编程挑战第 0 期 – 呼叫转移系统
阅读量:5812 次
发布时间:2019-06-18

本文共 2117 字,大约阅读时间需要 7 分钟。

题目:

  描述

    呼叫转移服务是一个把呼叫号码A转移到号码B的服务。举个例子:当你正在度假时,这样的系统非常有帮助。A君度假去了,那么,A君的工作电话可以通 过呼叫转移至B君。更进一步讲,当B君也正好在度假,还可以继续  通过呼叫转移到C君,依次类推。也就是说,当一个客户打电话到A君,通过呼叫转移系统,最 后转接到了C君。

    本期的编程挑战是要实现一个和呼叫转移系统相关的逻辑。根据个人的度假时间安排和呼叫转移设置,返回呼叫转移的个数和“深度”。

  输入

    第一行给出一个整数N,代表从第二行开始有多少个度假安排。

    每个度假安排为单独一行,其中包括4个数字:第一个数字是被叫人的4位数电话号码,第二个数字是呼叫转移至的4位数电话号码, 第三个数字是起始时间 ( 用天数计算),最后一个数字是度假时间的有效期(用天数计  算)。

    最后一行是开始日期。

    请注意:

    1) 这里的时间日期是基于天数顺序。1代表第一天,2代表第二天,依次类推。这里没有月份和年这样的时间单位,统一用天数来作为度假的日期安排。(天数最高是32位无符号整数的最大值)

    2) 输入的呼叫转移不会出现环路。如描述中所举例, A君转到B君,B君再转到C君。但C君不会转到A君。对于有环路的输入,检测并提示输入环路错误,这点不作要求。当然,如果你的程序可以检测这种环路,并提示错    误, 当然更好。

    3)不能同时从一个号码转移到多个号码。如描述中所举例, A君转到B君,A君不能同时又转移到C君。

  输出

    基于开始度假的日期 (输入数据的最后一行), 你的程序必须打印输出2行信息。

    1)当天设置了多少个呼叫转移

    2)当天最长的呼叫转移是多长次 ( A君转到B君,B君再转到C君。这个是2次呼叫转移)

  示例

    (请注意:这个仅仅是示例数据,它们是为了方便大家理解题目而添加的,你的代码不能仅解析这5行示例数据)

    1. 输入示例

1
2
3
4
5
3
0000 0001 1 3
0001 4964 2 1
4964 0005 2 3
2

    2. 输出示例

1
2
第 2 天共有 3 个呼叫转移设置
第 2 天最长的呼叫转移是 3 次

    //第 2 天为什么有 3 个呼叫转移?如果你没有看懂,这里解释一下: “ 0000 0001 1 3 ” 这个是3天有效,所以,第二天这个呼叫转移还有效。“0001 4964 2 1” 和 “4964 0005 2 3“ 都是第二天设置的,有效期分别是    1和3天。所以,第 2 天共有 3 个呼叫转移设置。

分析:

  同样懒得想最优算法了,直接暴力法解决之。

代码:

  

#include 
#include
using namespace std;int main(){ fstream fin("bole0.txt"); int numbers=0; fin>>numbers; int plan[numbers][5]; //fromCall,toCall,fromDay,toDay的含义应该比较明显,就是数据文件每一行的每个数据 int fromCall,toCall,fromDay,toDay=0; for(int i=0;i
>fromCall>>toCall>>fromDay>>toDay; plan[i][0]=fromCall; plan[i][1]=toCall; plan[i][2]=fromDay; plan[i][3]=toDay; //plan[i][4]表示这个转移的连接次数,默认为1,也即是它自己。 plan[i][4]=1; } int currentDay=0; fin>>currentDay; int currentDayTransNumbers=0; for(int i=0;i
=currentDay) currentDayTransNumbers++; } cout<<"第"<
<<"天共有"<
<<"个呼叫转移设置"<

总结:

  可能是第0期的原因,总体来说比较简单,写起来很快。另外,把闭环的检测也加上了。

  看到有些选手确实写得很好,至少代码行数就很少,不过也有行数比我多好多的,哈哈。

  挑战结束之后,我会将本期最受欢迎的代码贴在这里,大家可以讨论下。敬请期待~

  欢迎您的讨论!

转载于:https://www.cnblogs.com/papershop/p/3139412.html

你可能感兴趣的文章
如何配置 fail2ban 来保护 Apache 服务器
查看>>
走近华佗,解析自动化故障处理系统背后的秘密
查看>>
ProxyChains
查看>>
电商那些年,我摸爬打滚出的高并发架构实战精髓
查看>>
DB2的进程/线程解析
查看>>
基于jsp+servlet图书管理系统之后台用户信息删除操作
查看>>
Flink 原理与实现:如何处理反压问题
查看>>
New start
查看>>
写文章?我就想写一篇小人物的文章!
查看>>
RAC环境下抓取ID大于应用ID
查看>>
Python_openpyxl处理Excel表格
查看>>
字节,字符,Unicode及Web编码
查看>>
仿百度壁纸客户端(二)——主页自定义ViewPager广告定时轮播图
查看>>
web项目部署随笔
查看>>
HBase写性能优化
查看>>
Android 4.0 开发者指南(27) —— Resource Types - String
查看>>
《卸甲笔记》-PostgreSQL和Oracle的SQL差异分析之五:函数的差异(五)
查看>>
JAVA数组之选择排序算法
查看>>
setjmp与longjmp
查看>>
Xcode6中添加pch文件
查看>>