Ссылка на вопрос здесь https://www.urionlinejudge.com.br/judge/en/problems/view/1030
Я пытаюсь представить ответ на этот вопрос, но получаю только ошибки времени выполнения.Это говорит о том, что это происходит из-за ошибки индекса массива (или подобной), но я не думаю, что это так, потому что я использую ArrayLists и вывод на моем компьютере правильный.
import java.io.IOException;
import java.util.Scanner;
import java.util.ArrayList;
public class Main {
static class Pair {
public int size;
public int step;
public Pair(int l, int r) {
size = l;
step = r;
}
}
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
final int tests = s.nextInt();
int[] res = new int[tests];
Pair[] inputs = new Pair[tests];
// take input first
for (int i = 0; i < tests; i++)
inputs[i] = new Pair(s.nextInt(), s.nextInt());
for (int i = 0; i < tests; i++) {
final int step = inputs[i].step;
int size = inputs[i].size;
int pos = step;
ArrayList<Integer> nums = new ArrayList<Integer>();
for (int c = 0; c < inputs[i].size; c++)
nums.add(new Integer(c));
if (size == 1) {
res[i] = nums.get(0);
continue;
}
while (size > 1) {
nums.remove(pos);
size--;
pos--;
pos = pos + step;
if (pos >= size)
pos = pos % size;
}
res[i] = nums.get(0);
}
int count = 1;
for (int i : res) {
System.out.println("Case " + count++ + ": " + i);
}
}
}
Выводы, которые я получаю на IntelliJ IDEA, такие же, как в примере, поэтому я считаю, что это решение делает то, что должно.