Files
2019-03-15 13:47:54 +04:00

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());
}
}