97 lines
1.8 KiB
Java
97 lines
1.8 KiB
Java
package chelper;
|
|
|
|
import net.egork.chelper.task.Test;
|
|
import net.egork.chelper.tester.TestCase;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Collection;
|
|
import java.util.Collections;
|
|
import java.util.List;
|
|
import java.util.Random;
|
|
|
|
public class TaskDTestCase {
|
|
@TestCase
|
|
public Collection<Test> createTests() {
|
|
List<Test> tests = new ArrayList<>();
|
|
|
|
tests.add(test1());
|
|
tests.add(test2());
|
|
tests.add(test3());
|
|
|
|
return tests;
|
|
}
|
|
|
|
private Test test1() {
|
|
StringBuilder in = new StringBuilder();
|
|
|
|
int n = 300000;
|
|
int m = 500000;
|
|
|
|
in.append(n + " " + m + "\n");
|
|
|
|
for (int i = 1; i <= n; i++) {
|
|
in.append(i + " ");
|
|
}
|
|
in.append("\n");
|
|
|
|
int im = m;
|
|
for (int i = n; i >= 1; i--) {
|
|
for (int j = i + 1; j <= n && im > 0; j++) {
|
|
in.append(i + " " + j + "\n");
|
|
im--;
|
|
}
|
|
}
|
|
|
|
return new Test(in.toString());
|
|
}
|
|
|
|
private Test test2() {
|
|
StringBuilder in = new StringBuilder();
|
|
|
|
int n = 300000;
|
|
int m = 0;
|
|
|
|
in.append(n + " " + m + "\n");
|
|
|
|
for (int i = 1; i <= n; i++) {
|
|
in.append(i + " ");
|
|
}
|
|
in.append("\n");
|
|
|
|
int im = m;
|
|
for (int i = n; i >= 1; i--) {
|
|
for (int j = i + 1; j <= n && im > 0; j++) {
|
|
in.append(i + " " + j + "\n");
|
|
im--;
|
|
}
|
|
}
|
|
|
|
return new Test(in.toString());
|
|
}
|
|
|
|
private Test test3() {
|
|
StringBuilder in = new StringBuilder();
|
|
|
|
int n = 300000;
|
|
int m = 500000;
|
|
|
|
in.append(n + " " + m + "\n");
|
|
|
|
for (int i = 1; i <= n; i++) {
|
|
in.append(i + " ");
|
|
}
|
|
in.append("\n");
|
|
|
|
int im = m;
|
|
Random random = new Random(0);
|
|
for (int i = m; i >= 1 && im > 0; i--) {
|
|
int l = random.nextInt(n) + 1;
|
|
int r = random.nextInt(n) + 1;
|
|
in.append(l + " " + r + "\n");
|
|
im--;
|
|
}
|
|
|
|
return new Test(in.toString());
|
|
}
|
|
}
|