代码:
import java.util.Scanner;
public class xbdmx {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int L = sc.nextInt();
int S = sc.nextInt();
int[][] l = new int[L + 1][L + 1];
int[][] s = new int[S + 1][S + 1];
for (int i = 0; i < n; i++) {
int a = sc.nextInt();
int b = sc.nextInt();
l[a][b] = 1;
}
for (int i = S; i > -1; i--) {
for (int j = 0; j < S + 1; j++) {
s[i][j] = sc.nextInt();
}
}
int count = 0;
for (int i = 0; i < L - S + 1; i++) {
for (int j = 0; j < L - S + 1; j++) {
if (l[i][j] == 1){
boolean b = true;
for (int k = 0; k < S + 1; k++) {
for (int m = 0; m < S + 1; m++) {
if (l[i + k][j + m] != s[k][m]){
b = false;
break;
}
}
}
if (b) count++;
}
}
}
System.out.println(count);
}
}
解题思路:
找到大地图中的每一棵树,再遍历判断对应小地图上的有无树情况是否相同。
碎碎念
暂时没有更好的解题方法,欢迎路过大佬批评指正!