202009-2 风险人群查询

风险人群筛查

在这里插入图片描述
在这里插入图片描述

package practice;

import java.util.Arrays;
import java.util.Scanner;

public class practice2 {
	public static void main(String[] args ) {
		Scanner sc = new Scanner(System.in);
		int m = sc.nextInt();//得到人数
		int n = sc.nextInt();//得到连续数
		int place = sc.nextInt();//得到时刻的个数
		int xl = sc.nextInt();
		int yd = sc.nextInt();
		int xr = sc.nextInt();
		int yr = sc.nextInt();//得到风险区域
		int passby = 0;//记录经过的人
		int stayby = 0;//记录逗留的人
		String str = "";//来存储每一个人经过风险区域的坐标判断
		String nt = "";//用来存储连续性
		for (int i = 0; i < n; i++) {//连续数
			nt +=1;
		}
		for (int i = 0; i < m; i++) {//将每一个人的坐标数进行存储,显示成的字符串,然后对字符串进行操作来判断连续性
			str = "";
			for (int j = 0; j < place; j++) {
					int x =sc.nextInt();
				    int y =sc.nextInt();
				    if (x>=xl&&x<=xr&&y>=yd&&y<=yr) {
					   str += 1;
				}else {
					str += 0;
				}
			}
			if (str.indexOf(nt) !=-1) {//判断连续性
				stayby++;
			}
			if (str.indexOf("1")!=-1) {//判断是否存在
				passby++;
			}
		}
		
		System.out.print(passby+"\n");
		System.out.print(stayby);	
	}
}

总结

步骤:设置两个空字符串,一个用来存储需要连续出现的在指定区域的坐标数,也就是这个算法中连续出现的一的个数,另一个字符串用来存储每个人的每个时刻是否在风险区域内,若是,则将其加一的后缀,将每一个输出进来的坐标进行判断,若在指定的高风险地区,则坐标字符串加一,不在,则指定字符串加0,每一个判断出来后,用字符串的操作来判断连续性即可。

得到的经验————————用字符串来代替数组的存储,(若相同数判断连续的时候,十分的方便)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值