Interpretation 1: No red and blue balls within any possible square of 1m x 1m

#### plotting situation
### drawing boxes around the blue points
box <- function(x, y , col = "blue") {
polygon(c(x,x,x,x)+c(-1,-1,1,1), c(y,y,y,y)+c(-1,1,1,-1), border = col)
}
box <- Vectorize(box)
set.seed(1)
### plot the 100 x 100 square
plot(-1000,-1000, xlim = c(0,100), ylim = c(0,100), xlab = "", ylab = "",
xaxs = "i",
yaxs = "i")
### blue points with boxes around them
xb <- runif(10,0,100)
yb <- runif(10,0,100)
box(xb,yb, col = "blue")
### red points
points(xb,yb, pch = 21, cex = 0.3, col = "blue", bg = "blue")
points(runif(100,0,100),runif(100,0,100), cex = 0.3, pch = 21, col = "red", bg = "red")
Approximation
The 10 blue balls will approximately cover 40 square meters of the area within which they will be within the same 1x1 square meter with another ball (this ignores possible overlap with each other and with the edges). Then each red ball will have a 0.004 probability to be within a blue ball.
The probability that at least one of the $n$ red balls will be within 1 meter of a blue ball, when the probability for an individual red ball is $p$, is
$$1-(1-p)^n \approx 0.3302174$$
This approximation is an overestimation because the probability $p$ can be lower than 0.004 due to overlap (but in this particular case it won't be that much).
Simulation
In the simulation below we simulate the overlap. We do this by sampling the positions of the blue balls from a discrete distribution. The reason that we do this, is because this simplifies the computation of the area. We do this very simply by drawing the area $\pm 1 \text{ meter}$ around the blue balls and compute how many pixels we got painted (and some of the pixels might overlap or be outside the field).
In this case, the probability equals $$ \approx 0.3269781$$
tst <- function(m = 10) {
### pars
d <- 10 ### the number of cells for a square of 1x1 meter
size <- 100 ### size of the square
### sample blue balls in discrete values
xb <- sample(1:(size*d),m,replace = TRUE)+d
yb <- sample(1:(size*d),m,replace = TRUE)+d
### make a grid
l <- (size+2)*d+1
grid <- matrix(rep(0,l^2),l)
### make cells equal to 1 around the squares
for (i in 1:m) {
grid[xb[i]+c(-(d-2):(d+1)),yb[i]+c(-(d-2):(d+1))] = 1
}
### compute the number of cells that are equal to 1 ignoring the edges
range <- c(1:(size*d))+d
sum(grid[range,range])
}
tst(10)
arr <- replicate(10^4,tst())
hist(arr/1000^2, breaks = seq(0,0.004,10^-4), xlim = c(0.0035,0.004))
xs <- c(0,0.004, 10^-5)
### compute based on p = 0.0004
p <- 40/10000
1-(1-p)^100
### compute based on variable p
p <- arr/1000000
prob <- 1-(1-p)^100
mean(prob)