スレを勃てるまでもないC/C++の質問はここで 7
■ このスレッドは過去ログ倉庫に格納されています
0039デフォルトの名無しさん
2009/01/27(火) 15:52:46#include<stdio.h>
#include<vector>
using namespace std;
typedef vector<unsigned char> ret;
void shuffle(ret A, ret &B, int k){
int i,n,N=k,M=A.size(); B.resize(M);
for(i=M;i>=1;i--) {
n=N % i; N/=i; B[M-i]=A[n];
memmove(&A[n], &A[n+1], i-n-1); }}
main(){
ret A(5),B;
for(int i=0; i<5; i++)A[i]=i+1;
for(int k=0; k<120; k++){
shuffle(A,B,k);
for(int i=0; i<5; i++) printf("%d ",B[i]);printf("\n"); }}
■ このスレッドは過去ログ倉庫に格納されています