这道题精在判重优化。因为如果存在两个数A、B,且满足A mod n=B mod n=C,那么,这两种情况可以看做是重复的,保留较小数即可。具体优化,开一个布尔数组即可。

特别需要注意一点:如果n=0,那么应当输出0!!!{本弱就因为这个WA了半天,看Discuss才明白的……}

CODE

Program Multiple;//By_Thispoet
Constmaxn=20000;
Varh,t,j,k,m,n,i            :Longint;seq,fa,mol             :Array[1..maxn]of Integer;a                     :Array[1..maxn]of Longint;fg                        :Array[0..maxn]of Boolean;flag                  :Boolean;ans                        :Array[1..maxn*2]of Longint;Procedure Qsort(l,r:Longint);
var i,j,k,temp:Longint;
begini:=l;j:=r;k:=a[(i+j)>>1];repeatwhile a[i]<k do inc(i);while a[j]>k do dec(j);if i<=j thenbegintemp:=a[i];a[i]:=a[j];a[j]:=temp;inc(i);dec(j);end;until i>j;if i<r then Qsort(i,r);if l<j then QSort(l,j);
end;Procedure Deal(i:Longint);
begink:=0;while i<>0 dobegininc(k);ans[k]:=seq[i];i:=fa[i];end;for i:=k downto 1 do write(ans[i]);writeln;
end;BEGINreadln(n);readln(m);while not eof dobeginfillchar(fg,sizeof(fg),0);fillchar(fa,sizeof(fa),0);for i:=1 to m do readln(a[i]);flag:=true;Qsort(1,m);h:=0;if n=0 thenbeginwriteln(0);readln(n);readln(m);continue;end;if a[1]=0 thenbeginfor i:=2 to m dobeginseq[i-1]:=a[i];fg[a[i] mod n]:=true;mol[i-1]:=a[i] mod n;if a[i] mod n=0 thenbeginflag:=false;writeln(a[i]);end;if not flag then break;end;t:=m-1;end elsebeginfor i:=1 to m dobeginseq[i]:=a[i];fg[a[i] mod n]:=true;mol[i]:=a[i] mod n;if a[i] mod n=0 thenbeginwriteln(a[i]);flag:=false;end;if not flag then break;end;t:=m;end;if not flag thenbeginreadln(n);readln(m);continue;end;while h<t dobegininc(h);for j:=1 to m dobegini:=(mol[h]*10+a[j])mod n;if fg[i] then continue elsebeginfg[i]:=true;inc(t);seq[t]:=a[j];fa[t]:=h;mol[t]:=i;end;if i=0 thenbeginDeal(t);flag:=false;end;end;end;if flag then writeln(0);readln;readln(n);readln(m);end;
END.

转载于:https://www.cnblogs.com/Thispoet/archive/2011/09/14/2176555.html

POJ1465 Multiple——Bfs+余数判重——Pku1465相关推荐

  1. codevs 1004 四子连棋 BFS、hash判重

    004 四子连棋 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 在一个4*4的棋盘上摆放了14颗棋子,其中有7颗白色棋子,7颗黑色 ...

  2. poj 3131 双向搜索+hash判重

    题意: 初始状态固定(朝上的全是W,空格位置输入给出),输入初始状态的空格位置,和最终状态朝上的位置,输出要多少步才能移动到,超过30步输出-1. 简析: 每一个格子有6种状态,分别是 0WRB, 1 ...

  3. 路劲寻找-八数码问题(判重)

    题目:编号为1~8的8个正方形滑块被摆成3行3列(有一个格子留空).把一种状态变成另一种状态最少移动多少步,到达不了,就输出-1. 2 6 4 1 3 7   5 8 8 1 5 7 3 6 4   ...

  4. 解题报告:luogu P2272 [ZJOI2007]最大半连通子图(tarjan缩点、递推DP、hash、set判重)

    这时yxc上课时讲解的截图. 一般用到tarjan算法的题目步骤都非常相似: tarjan算法 缩点,建图(这里要判重) 按照拓扑序递推(这里缩点以后逆向就已经是拓扑序了)/ 循环遍历新图求解答案. ...

  5. POJ 2458 DFS+判重

    题意: 思路: 搜+判重 嗯搞定 (听说有好多人用7个for写得-.) //By SiriusRen #include <bitset> #include <cstdio>0 ...

  6. zcmu1133(dfs+判重)

    1133: 第九章:致我们终将逝去的青春 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 28  Solved: 18 [Submit][Status] ...

  7. 整数判重、大整数Hash

    大整数Hash 总是听高届的大佬说,一个字符串Hash,能搞出大部分的字符串题,Hash真的有那么神吗? 答:是的 近来,参加很多NOIP模拟赛,其中一场设计判断大整数是否存在偷懒了一下,开了一个ma ...

  8. LeetCode 491. 递增子序列(回溯+判重剪枝)

    1. 题目 给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2. 示例: 输入: [4, 6, 7, 7] 输出: [[4, 6], [4, 7], [4, 6, 7] ...

  9. POJ 2491 Scavenger Hunt 解题报告 再次利用map判重

    这道题说的是一个路径(A->B->C->-)被拆散成很多step(B->C;A->B;-),要根据step还原路径.节点都是用string表示的. 如果用map来表示st ...

最新文章

  1. 中科大博士20万字正经论文:教你如何给女朋友送礼物
  2. zoj 2972 Hurdles of 110m (DP)
  3. (转载)(官方)UE4--图像编程----Parallel Rendering Overview
  4. 朋友公司招聘用的一套C#基础面试题,10个码农8个错2个蒙,我也跳坑了…
  5. skynet.fork_Apache Ant 1.10.6发布–用于junitlauncher的fork模式以及新的jmod和链接任务
  6. PJSIP学习笔记——PJSUA层发起呼叫的主要流程
  7. 【Windows】关于shift和空格同时按无反应的解决方案
  8. Larbin学习小结
  9. 摘自韩寒博客《砰然心动》
  10. 【ENVI】监督分类
  11. switch c语言格式,switch语句格式是什么
  12. python黑马教程ppt_,python基础教程 PPT
  13. iOS 偏好设置 NSUserDefault
  14. windows版Transporter使用方法
  15. 密码学系列 - 国密算法
  16. 【模拟】找规律填数字
  17. UiPath系统框架
  18. 微信小程序 vant 样式覆盖与定制主题
  19. 魅蓝3如何root_我的魅蓝3系统是5.1.4.2Y,怎么获取root权限,不是说魅蓝官网开放权限了吗?登录账户找不到啊?...
  20. LeetCode Word Break II

热门文章

  1. SDN第三次上机作业
  2. Redis总结(五)缓存雪崩和缓存穿透等问题
  3. java019异常、File类
  4. 【HEVC】1、HM-16.7编码器的基本结构
  5. [RQNOJ313]波浪数
  6. 各种格式的视频播放的代码(wma格式)
  7. 大家调试ZEND的时候应该会用到zend studio,不知道是不是中国购买zend产品的用户太少了还是我安装的问题,...
  8. 解决弹出框滚动穿透的问题(问题是body也会滚动)
  9. DataAccessResourceFailureException异常解决方法
  10. CENTOS下SAMBA服务不能开启的解决方法