列表

详情


NC236816. 牛牛的早八

描述

牛牛大学有一套完整且独特的签到旷课制度。
早八:上午第一节课(因八点整开始上课故得名早八)。
迟到:在上课五分钟内(含第五分钟)进入教室则计迟到。
旷课:在上课五分钟后进入教室则计旷课。
最近牛妹需要上很多次早八,她统计了自己在整个二月份之间每次早八进入教室的时间,想请你帮她算算她有多少次迟到多少次旷课。

输入描述

第一行一个整数 T 代表案例数。
每组案例第一行一个整数 n 代表今年二月需要上早八的天数。
接下来共 n 行,每行一个字符串,格式为“”代表牛妹在 ab 分进入教室(a 没有前导零)。 
保证:

输出描述

输入共 T 行,每行两个整数分别代表当前案例中牛妹的迟到和旷课次数。

示例1

输入:

3
6
7:00
7:59
8:00
8:05
8:05
8:10
1
8:06
1
8:05

输出:

2 1
0 1
1 0

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

PHP 解法, 执行用时: 19ms, 内存消耗: 7032K, 提交时间: 2023-08-11 11:34:06

<?php

$n = intval(fgets(STDIN));
for ( $i = 0; $i < $n; $i++ ) {
    $k = intval(fgets(STDIN));
    $late = $miss = 0;
    for ( $j = 0; $j < $k; $j++ ) {
        $arr = explode(':', fgets(STDIN));
        $m = intval($arr[0]) * 60 + intval($arr[1]);
        if ( $m < 481 ) {
            continue;
        } elseif ( $m < 486 ) {
            $late++;
        } else {
            $miss++;
        }
    }
    echo "{$late} {$miss}" . PHP_EOL;
}

Python3 解法, 执行用时: 119ms, 内存消耗: 8780K, 提交时间: 2023-08-11 11:30:56

n = int(input())
for i in range(n):
    k = int(input())
    late, miss = 0, 0
    for j in range(k):
        a, b = map(int, input().split(':'))
        m = a * 60 + b 
        if m < 481:
            pass
        elif m < 486:
            late += 1
        else:
            miss += 1
    print(late, miss)

Go 解法, 执行用时: 131ms, 内存消耗: 1748K, 提交时间: 2023-08-11 11:26:21

package main

import "fmt"

func solve() {
	var n, ans, res, a, b int
	fmt.Scan(&n)
	for n > 0 {
		fmt.Scanf("%d:%d", &a, &b)
		if a == 8 {
			if b > 5 {
				res++
			} else if b != 0 {
				ans++
			}
        } else if a > 8 {
            res++
        }
        n--
	}
	fmt.Printf("%d %d\n", ans, res)
}
func main() {
	var time int
	fmt.Scan(&time)
	for time > 0 {
		solve()
		time--
	}
}

上一题