#include <stdio.h> int main() { int n, num, h, m; // 定义变量n, num, h, m char s; // 定义变量s int arr[1005][5]; // 定义二维数组arr,用于存储事件信息 scanf("%d", &n); // 输入n的值,表示事件的个数 for (int i = 0; i < n; i++) // 循环n次,处理每个事件 { int count = 0, t = 0; // 定义变量count和t,用于计算事件的数量和总时间 scanf("%d %c %d:%d", &num, &s, &h, &m); // 输入事件的编号、类型和时间 while (num) // 当事件编号不为0时,继续循环 { if (s == 'S') // 当事件类型为S时,表示开始事件 { arr[num][0] = 1; // 将事件编号num的开始标记设为1 arr[num][1] = h * 60 + m; // 将事件编号num的开始时间存入数组arr的第二列 } if (s == 'E' && arr[num][0] == 1) // 当事件类型为E且事件编号num的开始标记为1时,表示结束事件 { count++; // 事件数量加1 t += h * 60 + m - arr[num][1]; // 计算事件的总时间 arr[num][0] = 0; // 将事件编号num的开始标记设为0,表示该事件已结束 } scanf("%d %c %d:%d", &num, &s, &h, &m); // 继续输入下一个事件的相关信息 } if (count <= 1) // 如果事件数量小于等于1,表示只有一个事件或没有事件 { printf("%d %d\n", count, t); // 输出事件数量和总时间 } if (count > 1) // 如果事件数量大于1,表示有多个事件 { printf("%d %.0f\n", count, (float)t / count); // 输出事件数量和平均时间 } } return 0; // 程序结束,返回0


原文地址: https://www.cveoy.top/t/topic/iwG9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录