import java.awt.Point; import java.util.HashSet; import java.util.Random; /** * */ /** * random input generator for Collusion * * Usage: java generator N * will generate a collection of N randomly selected points. * Points will be normally clustered around (250, 250) and * (750,750) with standard deviation 300. * * @author zeil * */ public class generator { private int N; private Random rand; final static double stddev = 300.0; final static int mean1 = 250; final static int mean2 = 750; final int min = 0; final int max = 1000; /** * */ public generator(int n) { N = n; rand = new Random(); } public void go() { HashSet points = new HashSet(); System.out.println(N); for (int i = 0; i < N; ++i) { boolean done = false; while (!done) { int x = (int)(stddev * rand.nextGaussian()); x += (i % 2 == 0) ? mean1 : mean2; x = Math.max(Math.min(x, max), min); int y = (int)(stddev * rand.nextGaussian()); y += (i % 2 == 0) ? mean1 : mean2; y = Math.max(Math.min(y, max), min); Point p = new Point(x,y); if (!points.contains(p)) { points.add(p); System.out.println("" + x + " " + y); done = true; } } } } /** * @param args */ public static void main(String[] args) { int n = Integer.parseInt(args[0]); if (n < 2 || n > 10000) n = 100; new generator(n).go(); } }