Problem A: Random Permutations

Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 91  Solved: 54

Description

随机排列生成算法 (运行a.exe输出数字的个数,运行a.exe test时输出为一次随机的排列)

Input

The input will be a list of integers

Output

The number of the integers

Sample Input

1 2 3 4 5 6 7 8 9 10

Sample Output

10
 
思路:产生元素数目为n的无重随机数列
—>产生随机数,确定不重复后才加入数组
—>确定不重复用循环?循环后如何有把握新的数也无重复?
—>两层?三层?不保险
—>递归?写一写,三个函数,赋值,比较,主函数
—>搞定

 #include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int seed=time();
int b[]={};
int test(int b[],int i,int temp)
{
for (int j=;j<i;j++)
{
if (b[j]==temp) return -;
}
return ;
}
void give_test(int b[],int temp,int i,int n)
{
seed++;
srand(seed);
temp=rand()%n;
if (test(b,i,temp)==-)
{
seed++;
give_test(b,temp,i,n);
}
else b[i]=temp;
}
void random_permute(int a[],int n)
{
srand(seed);
b[]=rand()%n;
int temp=;
for (int i=;i<n;i++)
{
give_test(b,temp,i,n);
}
for (int i=;i<n;i++)
cout<<a[b[i]]<<" ";
}
int main(int argc,char *argv[])
{
int n;
cin>>n;
int a[];
for (int i=;i<n;i++)
cin>>a[i];
random_permute(a,n);
cout<<n<<endl;
return ;
}

验证可行

—>修改符合oj设计(argc,argv……受不了了,先睡……改天再说)

—>逗了,原题未输入元素个数……改一改再说

—>拓展:http://www.cnblogs.com/eaglet/archive/2011/01/17/1937083.html 不经过如此多比较去重的较高效算法

 

最新文章

  1. mysql在Linux下
  2. 页面显示(pageshow)和页面隐藏(pagehide)事件
  3. Jenkins2 - 下载与启动
  4. Git-rebase与merge小结
  5. 丢掉 WinPE,使用 DISKPART 来分区吧
  6. 结队开发项目—NABC模型
  7. Introduction to DTD
  8. Get familiar with key Frameworks of ios
  9. php 设置报错等级
  10. Java面试题之Request对象的主要方法
  11. 读书笔记 effective c++ Item 23 宁可使用非成员非友元函数函数也不使用成员函数
  12. python的列表(二)
  13. tablib cell() missing 1 required positional argument: &#39;column&#39; 报错
  14. mybatis打印完整的sql
  15. 【转】【WPF】WPF中的Button的MouseDown事件不触发问题
  16. spring+activemq配置文件内容及实现原理
  17. linux du查看文件所占大小
  18. vue 的事件冒泡
  19. python--内置模块(二) os sys pickle json
  20. quick cocos2d-x 下载地址

热门文章

  1. Android SQLite数据库版本升级原理解析
  2. Codeforces 176B (线性DP+字符串)
  3. 使用WebRequest 检测 手机号归属地。 C#通用 使用json 和可设定超时的WebClient
  4. 【wikioi】1403 新三国争霸(dp+kruskal)
  5. linux 好用的程序
  6. MyEclipse设置注释格式(转载)
  7. Dynamic Expression.Call Any
  8. hdu Watch The Movie
  9. dtd语法之定义属性
  10. 仿5173游戏交易平台系统SQL注入(可直接脱裤)+Getshell