using System;
public class Test
{
public static int[] RandomIndexes(int size) {
int[] result = new int[size];
for (int i = 0; i < size; i++) {
result[i] = i;
}
ShuffleArray(result);
return result;
}
private static Random r = new Random();
public static void ShuffleArray(int [] array) {
for (int i = 0; i < array.Length; i++) {
int j = r.Next(array.Length);
int tmp = array[i];
array[i] = array[j];
array[j] = tmp;
}
}
public static void Main()
{
int[] array = RandomIndexes(10);
for (int i = 0; i < array.Length; i++) {
Console.WriteLine(array[i]);
}
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyBpbnRbXSBSYW5kb21JbmRleGVzKGludCBzaXplKSB7CiAgICAJaW50W10gcmVzdWx0ID0gbmV3IGludFtzaXplXTsKICAgIAlmb3IgKGludCBpID0gMDsgaSA8IHNpemU7IGkrKykgewogICAgICAgICAgICByZXN1bHRbaV0gPSBpOwogICAgCX0KICAgIAlTaHVmZmxlQXJyYXkocmVzdWx0KTsKICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgfQoKICAgIHByaXZhdGUgc3RhdGljIFJhbmRvbSByID0gbmV3IFJhbmRvbSgpOwoJcHVibGljIHN0YXRpYyB2b2lkIFNodWZmbGVBcnJheShpbnQgW10gYXJyYXkpIHsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGFycmF5Lkxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGludCBqID0gci5OZXh0KGFycmF5Lkxlbmd0aCk7CiAgICAgICAgCWludCB0bXAgPSBhcnJheVtpXTsKICAgICAgICAgICAgYXJyYXlbaV0gPSBhcnJheVtqXTsKICAgICAgICAgICAgYXJyYXlbal0gPSB0bXA7CiAgICAgICAgfQogICAgfQoKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCQlpbnRbXSBhcnJheSA9ICBSYW5kb21JbmRleGVzKDEwKTsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGFycmF5Lkxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKGFycmF5W2ldKTsKICAgICAgICB9Cgl9Cn0=