欢迎来到天天文库
浏览记录
ID:29011965
大小:59.00 KB
页数:3页
时间:2018-12-15
《对张牌进行次洗牌,洗牌规则如下在第次洗牌时(),对第.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、对张牌进行次洗牌,洗牌规则如下:在第次洗牌时(),对第张牌()随机地产生一个小于的正整数,互换第张牌和第张牌的位置。算法洗牌输入:牌A[],牌的张数n输出:洗牌后的牌A[]1.template2.voidshuffle(TypeA[],intn)3.{4.inti,k,m,d;5.random_seed(0);6.for(k=1;k<=n;k++){7.m=n/k;8.for(i=1;i<=m;i++){9.d=random(1,n);10.swap(A[i],A[d]);11.}12.}13.}函数rando
2、m_seed:为随机数发生器产生随机数种子,需常数时间函数random:产生一个1到之间的随机数,需常数时间第6行开始的for循环的循环体共执行次。第8行开始的内部for循环的循环体,其执行次数依次为:算法的执行时间为内部for循环的循环体的执行次数乘以一个常数时间,因此,有:因为:由调和级数的性质,有:因此:3所以:由此得出:繁忙的牧师约翰是他所在村子里唯一的牧师。1月1号是约翰最繁忙的一天,因为这一天有n对夫妇将举行婚礼,而每对新婚夫妇在婚礼上都必须站在牧师面前接受祝福,牧师祝福的时间必须超过整个婚礼时间的一半(严格大于),并且
3、不能打断。请问约翰如何安排他的日程,以便他能够参加所有的婚礼?请注意:约翰不能在同一时间参加两个婚礼;约翰只能在整数时间加入或者退出婚礼;约翰可以在他完成前一个婚礼后马上出现在另一个婚礼上。l编程任务:设计一个算法,判断约翰能否参加所有的婚礼。l第一行包含一个整数N(1<=N<=10000),表示共有N对婚礼。接下来的N行,每行包含两个整数Si和Ti,分别表示婚礼的开始时间和结束时间。输入数据有多组,当N=0时,表示输入数据结束。(0<=Si4、42133443817710912033
4、42133443817710912033
此文档下载收益归作者所有