oj 1031 random permutation
2024-08-29 00:45:00
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 不经过如此多比较去重的较高效算法
最新文章
- mysql在Linux下
- 页面显示(pageshow)和页面隐藏(pagehide)事件
- Jenkins2 - 下载与启动
- Git-rebase与merge小结
- 丢掉 WinPE,使用 DISKPART 来分区吧
- 结队开发项目—NABC模型
- Introduction to DTD
- Get familiar with key Frameworks of ios
- php 设置报错等级
- Java面试题之Request对象的主要方法
- 读书笔记 effective c++ Item 23 宁可使用非成员非友元函数函数也不使用成员函数
- python的列表(二)
- tablib cell() missing 1 required positional argument: &#39;column&#39; 报错
- mybatis打印完整的sql
- 【转】【WPF】WPF中的Button的MouseDown事件不触发问题
- spring+activemq配置文件内容及实现原理
- linux du查看文件所占大小
- vue 的事件冒泡
- python--内置模块(二) os sys pickle json
- quick cocos2d-x 下载地址
热门文章
- Android SQLite数据库版本升级原理解析
- Codeforces 176B (线性DP+字符串)
- 使用WebRequest 检测 手机号归属地。 C#通用 使用json 和可设定超时的WebClient
- 【wikioi】1403 新三国争霸(dp+kruskal)
- linux 好用的程序
- MyEclipse设置注释格式(转载)
- Dynamic Expression.Call Any
- hdu Watch The Movie
- dtd语法之定义属性
- 仿5173游戏交易平台系统SQL注入(可直接脱裤)+Getshell