队列宽搜及应用举例.PPT

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
队列宽搜及应用举例

例4、海港(port.???) 分析:存船 70分算法 1 2 … i t[i] 船到达时间 k[i] 船上乘客数 ship[i][j] 船上乘客的国籍 t[i] – t[j] 86400 枚举第 艘船中距离第i艘船到达时间一天以内的所有船乘客国籍数。 例4、海港(port.???) 初始化,并读入数据 memset(ship,0,sizeof(ship); cinn; for int(i=1;i=n;i++) { cint[i] k[i]; \\n艘船到达的时刻;乘客数 for int (j=1;j=k[i];j++) cinship[i][j]; } 模拟:统计前i艘船中距第i艘船到达时间相差1天内的乘客国籍数 for int(i= 1 ;i=n;i++) { cnt := 0; memset(h,0,sizeof(h)); for (int j=1;j=i;j++) { if (t[i] - t[j] 86400) { for (int p= 1 ;p=k[j];p++) h [ship[j][p]] = 1; } } for (int j= 1;j= 1000;j++) cnt= cnt + h [j]; coutcntendl; } 例1、周末舞会(party.???) 假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴,每跳完一曲即回各自队尾继续等待。规定每个舞曲只能有一对跳舞者。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一个程序,模拟上述舞伴配对问题。 输入格式: 第一行男士人数m和女士人数n(m = 1000, n = 1000); 第二行舞曲的数目k(k = 1000)。 输出格式:共k行,每行两个数,表示配对舞伴的序号,男士在前,女士在后。 例1、周末舞会(party.???) 输入样例: 2 4 6 输出样例: 1 1 2 2 1 3 2 4 1 1 2 2 算法:队列模拟 分别设置两个队列代表男队与女队,初始时男士、女士依次“入队”; 接着进行k次模拟:每次取各队队头元素“配对”,跳完后从队头“出队”并重新从队尾 “入队”。 例1、周末舞会(party.???) 数据结构 a、b分别为两个队列 f1,r1,f2,r2分别为两个队列的首尾指针 int a[10001],b[10001],f1,r1,f2,r2,n,m,k; 例1、周末舞会(party.???) 初始化,并读入数据 建立两个初始队列 cinm,nk; for (int i=1;i=m;i++) a[i]=i; //男士入队 for (int i=1;i=n;i++) b[i]=i; //女士入队 f1 = 1; f2 = 1; r1 = m; r2 = n; //队头、队尾指针直接移向队首、队尾元素 例1、周末舞会(party.???) 模拟舞会配对 for (int i=1;i=k;i++){ couta[f1]” ”f[f2]endl; //取队首元素配对 r1++;r2++; a[r1] := a[f1]; b[r2] = b[f2]; //重新入队 f1++; f2 ++; //队首出队,队头指向下一个元素 } 例2、取牌游戏(card.???) Bessie正在使用一堆共K张(N≤K≤100,000; K是N的倍数)纸牌与N-1个(2≤N≤100)朋友玩取牌游戏。纸牌中共包含M = K / N张“good”牌和K - M张“bad” 牌。 Bessie负责发牌,她当然想独占所有“good”牌,因为她喜欢赢。 她的朋友怀疑她会耍诈,所以他们给出如下一些限制: 游戏开始时,将最上面的牌发给Bessie右手边的人; 每发完一张牌,她必须将接下来的P?张牌(1 ≤?P?≤ 10)?一张一张地依次移到最后放在牌堆的底部。 以逆时针方式持续给每位玩家发牌 例2、

文档评论(0)

zhuwo + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档