#include <iostream>
#include <stdlib.h>
struct Foo
{
int i;
};
int main(int,char**)
{
srand(42);
Foo src[10];
for (int i = 0; i<10; i++)
{
src[i].i = i;
}
Foo dst[10];
for (int i = 0; i<10; i++)
{
int random_index = rand()%(10-i);
dst[i] = src[random_index];
src[random_index] = src[9-i];
}
for (int i = 0; i<10; i++)
{
std::cout << dst[i].i << std::endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RkbGliLmg+CgpzdHJ1Y3QgRm9vCnsKICAgIGludCBpOwp9OwoKaW50IG1haW4oaW50LGNoYXIqKikKewogICAgc3JhbmQoNDIpOwogICAgRm9vIHNyY1sxMF07CiAgICBmb3IgKGludCBpID0gMDsgaTwxMDsgaSsrKQogICAgewogICAgICAgIHNyY1tpXS5pID0gaTsKICAgIH0KICAgIAogICAgRm9vIGRzdFsxMF07CiAgICBmb3IgKGludCBpID0gMDsgaTwxMDsgaSsrKQogICAgewogICAgICAgIGludCByYW5kb21faW5kZXggPSByYW5kKCklKDEwLWkpOwogICAgICAgIGRzdFtpXSA9IHNyY1tyYW5kb21faW5kZXhdOwogICAgICAgIHNyY1tyYW5kb21faW5kZXhdID0gc3JjWzktaV07CiAgICB9CiAgICAKICAgIAogICAgZm9yIChpbnQgaSA9IDA7IGk8MTA7IGkrKykKICAgIHsKICAgICAgICBzdGQ6OmNvdXQgPDwgZHN0W2ldLmkgPDwgc3RkOjplbmRsOwogICAgfQogICAgcmV0dXJuIDA7Cn0=