>>643がうまくいかなくてついカッとなってやった

>>661
縦と横方向にかぶらないようにするだけだから簡単
#include <iostream>
#include <vector>
#include <algorithm>
const int size = 10;
int main(){
std::vector<int> v;
for(int i=0; i<size; ++i)v.push_back(i);
std::random_shuffle(v.begin(), v.end());
for(int y=0; y<size; ++y){
for(int x=0; x<size; ++x)std::cout<<(x==v[y])?'1':'0';
std::cout << std::endl;
}
return 0;
}

今は反省して>>662のソースみている