甲流病人初筛

GitHub跳转原题关系图返回列表

顺序筛选体温不低于 37.5 且咳嗽的病人,并统计人数。

OJ: noi_openjudge

题目 ID: ch0112-03

难度:入门

标签:模拟python

日期: 2026-07-30 23:01

题意

筛选体温不低于 37.5 度且有咳嗽症状的病人,按输入顺序输出姓名和人数。

思路

逐行检查两个条件,满足时将姓名加入列表。列表本身保持输入顺序,最后逐行输出并输出长度。

代码

Python代码

python
patient_count = int(input())
selected_names = []

for _ in range(patient_count):
    name, temperature, cough = input().split()
    if float(temperature) >= 37.5 and cough == "1":
        selected_names.append(name)

print(*selected_names, sep="\n")
print(len(selected_names))

C++代码

cpp
#include <cstdio>

int n;
char name[10];
float w;
int k;

void init(){
    scanf("%d",&n);
}

bool jia_liu(float w,bool ke_sou){
    if ( w >= 37.5 && ke_sou){
        return true;
    }
    return false;
}
int main(){
    init();
    int i,cnt = 0;
    for (i=1;i<=n;i++){
        scanf("%s",&name);
        scanf("%f",&w);
        scanf("%d",&k);
        if( jia_liu(w,k)){
            printf("%s\n",name);
            cnt++;
        }
    }
    printf("%d\n",cnt);
    return 0;
}

复杂度

时间复杂度为 O(n)O(n),空间复杂度为 O(n)O(n)

总结

筛选题的输出顺序通常由顺序遍历自然保证。