某地大数据防疫平台记录了往来的所有防疫相关信息,包括 本地或外地人员、健康码颜色、接种疫苗情况、最近一次核酸结果、最近一次核酸检测时间等。
该地希望依据平台数据组织新一轮的疫苗接种,现有2针免疫的疫苗A和1针免疫的疫苗B。
对于本地人员,完全接种者不接种,部分接种者继续接种疫苗A,未接种者接种疫苗B;
对于外地人员,由于疫苗种类不同,部分接种者和完全接种者不接种,未接种者接种疫苗B。
此外,医务人员已开展入户检测核酸,非绿码人员须有3日(天数<3)内核酸检测阴性证明才可以接种。
请设计程序,判断疫苗A和B各有多少人接种。
输入说明:第一行,人员数量;
第二行开始每行为该人员的各个参数,以空格隔开,包括:
本地或外地人员:本地为’L’,外地为’T’;
健康码颜色:绿色为’G’,黄色为’Y’,红色为’R’;
接种疫苗情况:完全接种为‘C’,部分接种’D’,未接种为’E’;
最近一次核酸检测结果:阴性为’N’,阳性为’P’,未查为’U‘
最近一次核酸检测时间为:整数,取值范围为0-7,0代表当天检测,7代表7天或更长时间之前检测或未查;
输出说明:一行,符合疫苗A和B接种条件的人数,中间以空格隔开。
输入样例:4
L G D U 7
L Y C N 2
T G E N 1
T R E P 4
输出样例:1 1
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer stringTokenizer = new StringTokenizer(br.readLine());
int n = Integer.parseInt(stringTokenizer.nextToken());
int aCount = 0, bCount = 0;
for (int i = 0; i < n; i++) {
String str = br.readLine();
// 检查健康码
if (str.charAt(2) == 'G' || (str.charAt(6) == 'N' && Integer.parseInt(str.substring(8, 9)) < 3)) {
if (str.charAt(0) == 'L') {
// 是本地
if (str.charAt(4) == 'D') aCount++;
else if(str.charAt(4)=='E') bCount++;
} else
if(str.charAt(4)=='E') bCount++;
}
}
System.out.println(aCount+" "+bCount);
}
标签:接种,bCount,21,++,编程,计挑,疫苗,str,charAt
From: https://www.cnblogs.com/yaocy/p/16917252.html