m0_64203839 2022-07-14 15:52 采纳率: 50%
浏览 76
已结题

一道csp-j模拟题,求解答

一道考试模拟题:
小明在小区里开了一家便利店,每位顾客进店时都要扫码,总共有 A到Z 26 位顾客;他收集到了一天内的扫码信息,格式为:
A 10:10,代表 A 这位顾客的进店时间为 10:10;这里时间最小为 00:00,最大为 23:59
对于某位顾客 A,他的【密切接触者】定义为在他进店时间之前 1小时、之后 1小时内进店的所有其他顾客,比如 A 在 10:10 进店,那么进店时间在 09:10~11:10 时段内的所有其他顾客都是 A 的密切接触者(注意 A 自己不计入在内)。
一天内顾客可以多次进店,请你根据扫码信息,统计每位顾客的密切接触者总人数。

输入格式:

第一行 1个正整数 n,代表扫码信息的条数。
接下来 n行,每行 2 个字符串格式形如 A 10:10,代表一条扫码信息,保证顾客姓名为单个大写字母。

输出格式:

输出 26 行,代表顾客 A~Z 的答案,若这位顾客从未进店过,直接输出 0,否则输出他的密切接触者总人数。

样例输入:

20
V 04:22
G 04:49
E 00:20
G 09:47
J 00:51
P 00:27
O 02:19
E 05:01
Q 08:37
C 03:54
G 06:33
F 02:46
N 06:57
S 02:03
C 05:38
A 04:06
T 08:35
O 01:26
P 09:17
N 03:37

样例输出:

5
0
5
0
6
3
6
0
0
3
0
0
0
5
4
6
2
0
2
2
0
5
0
0
0
0

我的解答思路和尝试过的方法 :

用2维数组存储,没成功(我自己不会)。
不会存“:”。

我想要达到的结果:

有没有人可以告诉我怎么做,且思路是什么?
谢谢了Thanks♪(・ω・)ノ

  • 写回答

1条回答 默认 最新

  • it_hao528 2022-07-14 16:20
    关注

    思路参考:
    1、创建顾客结构体保存信息,字段包括如下:
    char name // 名字
    int hour // 小时
    int minute // 分钟
    int totalMinute // 小时切换成分钟与分钟和 以便于进行比较前后60分钟
    2、数组存输入信息之后进行排序
    3、可以定义一个整型数组int client[26]存个人的密接次数
    4、对排序之后的输入信息开始遍历进行计算密接次数,并将计算的值存入client相对应的位置。
    5、遍历client输出即可

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 7月22日
  • 已采纳回答 7月14日
  • 赞助了问题酬金5元 7月14日
  • 创建了问题 7月14日

悬赏问题

  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教