找回密码
 立即注册!
搜索

小喇叭+ 发布

12-31 23:03
系统消息:尊敬的用户,动象论坛的邮件系统已经完美修复,您现在可以顺利使用自助注册和找回密码功能了。万分感谢你对动象论坛的喜爱与支持~
06-10 15:28
系统消息:很抱歉的通知您,当前论坛的邮件系统暂时出现故障,因此自助注册和找回密码的功能将无法使用。如有任何需要,您可以直接添加客服QQ:230273459进行人工操作。对此给您带来的不便,我们深感歉意。
06-10 09:11
admin动象论坛祝大家端午快乐~悠悠粽草,人间芳华,年年岁岁皆如愿,岁岁年年长安康。
06-10 09:09
系统消息:动象论坛祝大家高考加油~
06-09 15:13
系统消息:各位坛友,由于“两会”封网原因,动象论坛服务中止了约一个星期,对于由此给您造成的麻烦我们感到万分抱歉。
03-18 23:04
admin动象论坛在这里祝大家2024龙年新年快乐~
02-09 14:58
系统消息:论坛端口问题已经解决~您可以直接访问论坛域名mcmc.ltd(www.mcmc.ltd)啦~(Tips:如访问时提示“连接被重置”报错,请清空您的DNS缓存与浏览器缓存。)
02-05 19:14
系统消息:论坛预计今天晚间将端口问题修复完成,请留意论坛动态,感谢您对动象论坛的支持~
02-05 14:06
系统消息:动象论坛目前正在紧急迁移服务器,目前请您先访问https://mcmc.ltd:150。论坛正在全力找CDN以修复端口问题,由此给您造成影响亿常抱歉。。
02-05 11:23
系统消息:动象论坛祝大家2024年新年快乐吖~祝大家前路浩浩荡荡,万事皆可期待~
12-31 22:41
系统消息:动象论坛拟于7月20日至7月21日进行服务器迁移和域名更换,届时论坛服务将暂时不可用。对此给您带来的麻烦,我们感到十分抱歉。
07-18 19:51
Mozillahello world
07-04 17:39
系统消息:高考倒计时2天!动象论坛祝大家2023高考完胜!加油!!!!!!
06-04 23:44
神秘人:
03-21 07:20
系统消息:向各位论坛坛友公开一下,我们现在吸收了@luoying2334 为论坛管理团队成员,管理讨论区、软件分享区和得闲饮茶区。如您有任何质疑,请您在【意见与建议】版块发帖,感谢您的支持~
03-20 23:23
admin论坛没啥人气啊emmm,欢迎大家来推荐退荐~
03-12 22:34
02-05 11:11
luoying2334给我学狗叫啊,三回啊三回
02-05 11:11
Civilmafia追尾黑色高级车
02-04 14:27
查看: 1705|回复: 0

深度优先搜索

[复制链接]

11

主题

57

回帖

585

积分

清正廉明~版主

风纪委员

积分
585

最佳新人活跃会员

发表于 2020-7-18 11:42:56 | 显示全部楼层 |阅读模式 IP:浙江嘉兴
         深度优先搜索是一种在开发爬虫早期使用较多的方法。它的目的是要达到被搜索结构的叶结点(即那些不包含任何超链的HTML文件) 。在一个HTML文件中,当一个超链被选择后,被链接的HTML文件将执行深度优先搜索,即在搜索其余的超链结果之前必须先完整地搜索单独的一条链。深度优先搜索沿着HTML文件上的超链走到不能再深入为止,然后返回到某一个HTML文件,再继续选择该HTML文件中的其他超链。当不再有其他超链可选择时,说明搜索已经结束。 ! e" i! ~& @: H, m# x8 A
用c++更好地实现8 O+ `0 y7 I% S  g
  1. //C++深度优先搜索(递归树模拟)) h! P, O" y6 c2 f
  2. #define _CRT_SECURE_NO_WARNINGS6 Z# V1 k5 S( P, z
  3. #include <iostream>& t/ H/ j& a6 |. |, p+ J
  4. #define MAX_N 1000/ ?% R2 M4 H1 r: D2 g4 j# @8 X% S
  5. using namespace std;$ _( v' y" a9 B* ]* {
  6.     int a[MAX_N];
    6 k+ r- e' Z4 a* Q" Q
  7.     int n,k;0 l2 n. v5 O, X* ^  `
  8. + v9 B( R- |0 K2 S& _' m
  9. //已经从前i项得到了和sum,然后对于i项之后的进行分支
    * ^7 g! m6 H) Y6 Z7 u6 Z
  10. bool dfs(int i,int sum)
    / {- K5 z4 }2 [9 [/ q
  11. {* w7 z# @4 q; ~; r! E9 t
  12.     //如果前n项都计算过了 ,则返回sum是否与k相等( y! r3 [, Z% X& D9 s
  13.     if(i==n)
    ( X3 l- P: L$ X
  14.     {7 a& r  d' k. W, L6 }3 D6 K
  15.         return sum==k;
    * b+ q% w. n. D1 b* T
  16.      }
      M7 s* k; H  n( j+ O

  17. % t/ a/ X, ]3 b- k
  18.     //不加上a[i]的情况的分支
    - \6 }% K7 t' c5 ]  K4 \
  19.     if(dfs(i+1,sum))
    5 |7 e9 w  R3 P* l7 n" v
  20.     {1 [# x( Q  F7 ]$ Q$ |! f( g3 M
  21.         return true;
    + q' ?9 h3 J1 M6 t2 Z; j/ n
  22.     }; j8 m" N8 k; q* g) g
  23.     //加上a[i]的情况的分支9 A6 ?* G# k0 e
  24.     //if(dfs(i+1,sum+a[i+1]))8 U9 u" ?! q2 D. ?) E( o1 n
  25.     if(dfs(i+1,sum+a[i]))
    2 {9 Y& x+ l, V2 C+ j
  26.     {
    ) q# F5 ^, H. r; s+ `9 V! `
  27.         return true;' d( X3 z" G2 _& u* S$ M
  28.     }
    # A( t) ^$ z0 C( ^/ t

  29. 8 h; B7 [1 n( G/ x5 k& r
  30.     //无论是否加上a[i]都不能凑成k就返回false: I% N1 O1 p; D! I8 Y
  31.     return false;2 n7 X% ^4 V; f3 u
  32. }4 j8 }8 Y$ q+ S+ A3 `  H
  33. void solve()
    7 V7 q7 O  b. r  a* U8 ?
  34. {
    5 K5 N- N" \4 ^1 |% q
  35.      //if(dfs(1,0))  g; t+ s7 B8 `( O3 ^- _( T* y
  36.      if(dfs(0,0))
    - ~$ j2 S5 d  Q0 Y. a' U
  37.     {& W" A7 _/ }! l& z5 J& v
  38.          cout<<"Yes"<<endl;- [$ D5 j* r- h. e: b
  39.     }% A% g2 m( M0 B  y$ s  x2 [. P
  40.      else
    ; h# |$ D- A  V3 x- e/ A7 j/ N" [
  41.      {; j- J$ C, F& c% a# S4 o& g
  42.          cout<<"No"<<endl;. @# f) R2 h" q5 S( c7 ~
  43.      }4 k5 L8 v1 |+ D6 r6 s
  44. }
    % [" Q( A) @2 Q/ S/ \
  45. int main(void)! S  ?4 \* t+ ~4 r0 \0 U7 d# r8 v
  46. {
    2 u1 Q" o+ s) R; p9 i1 e
  47.     cin>>n;6 P2 J2 [6 b& _+ O& _6 K
  48.     int i,temp;
    " x* Q4 C1 D3 Z' D" k3 B
  49.     //for(i=1;i<=n;i++)
    0 L( t- U- p  L6 Q  e* p$ F' _
  50.     for(i=0;i<n;i++)- D3 a7 e  F8 G6 l& [1 K( H
  51.     {% O  ]; ]2 x. b: P2 J' I( ^
  52.         cin>>temp;2 X$ X* s. K. L
  53.         a[i]=temp;# W7 d/ W3 R# P; Y* F$ \7 M0 S
  54.     }0 e  W: A5 O0 f  Z; k
  55.     cin>>k;
    + k- @( j, V/ a! d

  56. 4 U6 w& k7 Y/ Y6 x1 `" u
  57.     solve();" a  q% S. a6 k6 ]) Z

  58. ! c1 K% w4 B, v: y7 y* |
  59.     return 0;
    - U3 u- E( z& e& l* C6 ~: \
  60. }
复制代码

+ b: n/ x- A" Z7 x: [8 i% q  j) n% A& w9 p: j3 ?& g3 Q8 Z, }

( z* X$ f% Q2 l
3 L# Q9 a) ^: V- y# }7 k) w' i" [1 X! y- q5 H  g

评分

参与人数 1比特币 +200 收起 理由
admin + 200 很给力!

查看全部评分

本帖被以下淘专辑推荐:


tel:181 5707 6602
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册!

本版积分规则

QQ|手机版|小黑屋|网站地图|动象论坛

GMT+8, 2025-4-26 20:54 , Processed in 0.644754 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表