QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2026|回复: 0
打印 上一主题 下一主题

2019第十届蓝桥杯B组决赛题解第五题

[复制链接]
字体大小: 正常 放大
杨利霞        

5273

主题

82

听众

17万

积分

  • TA的每日心情
    开心
    2021-8-11 17:59
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    网络挑战赛参赛者

    网络挑战赛参赛者

    自我介绍
    本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。

    群组: 2018美赛大象算法课程

    群组: 2018美赛护航培训课程

    群组: 2019年 数学中国站长建

    群组: 2019年数据分析师课程

    群组: 2018年大象老师国赛优

    跳转到指定楼层
    1#
    发表于 2019-6-28 15:58 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    2019第十届蓝桥杯B组决赛题解第五题/ Z+ @9 w; i4 `6 e) @
    在一个5*5的方格上走边界点,其实也就是6*6的图,从左上角开始走,不走重复点且在12步之内走回左上角点,问方案数
    , u& u% j2 h1 |直接dfs,需要减掉 (0,0)->(1,0)->(0,0)和(0,0)->(0,1)->(0,0),这两个路线都重合了
    , C! j4 {/ y* n% y# M结果: 208-2=206   
    7 `  I. l7 r( X5 |: n1 E2 m代码:0 F8 G$ {8 ^5 L. N# z2 l' u
    #include<bits/stdc++.h>' G3 V# g4 R( f) W* l
    #define mem(a,b) memset(a,b,sizeof(a))% y3 f* A3 t' h
    using namespace std;2 e. I* F/ E" D% E) B; N
    typedef long long ll;
    5 Q8 G9 _/ F  J; r# u- dconst int inf = 0x3f3f3f3f;
    , S) x+ w+ W1 J3 f: G- Wconst int maxn = 3e5+55555;
    . l, U1 [6 ]% z+ G0 Kconst ll mod = 998244353;
    1 g: l. W  Z! k0 D8 P6 I/ aconst double eps = 1e-7;
    0 _! c- J/ `  [; Q1 G+ a2 S3 ~4 p; m7 |) e9 d" ?: Q8 G; }  y
    bool vis[10][10];
    " u& ~6 E% {  ?9 Rint ne[4][2] = {1,0,-1,0,0,1,0,-1};
    ) Y8 h7 L& o/ }4 `int ans;# u. J9 E, ?2 h0 {! Y

    , F! t% i$ T: k* J: i! _, bvoid output() {
    ( u% a0 n9 ~0 ?7 ^  M    for(int i = 1;i<= 6;i++) {% S0 ~! k% E! \: G( @
            for(int j = 1;j<= 6;j++) {
    ) z+ N  [0 U7 S$ @5 e" R! F( d% E% b            cout<<vis[j]<<' ';
    7 N  g- c' w% F7 Y- P, g4 t; W1 I: h0 Z        }
    + Y& q7 |8 ^. A# Y        cout<<endl;
    9 a7 m+ W' g8 {1 V    }( ~# a5 {4 ^, b( O) p# M
        cout<<endl<<endl;
    3 K' m# H8 B6 v}: }) n, @! f: ]; j# X& p, b
    * c  n8 H& h, q; b0 k8 o6 b8 E
    void dfs(int x,int y,int step) {
    8 }$ S, S5 w* T# N! y    if(step> 6) {7 w  {$ i, M( C$ n& M8 [
            return ;
    ) r3 q! s; w, b) @( w    }* W1 |! t# a6 a: Y
        if(x == 1&&y == 1&&vis[1][1] == true) {/ S* h, U* I" D; _, g$ R$ p  c6 Z8 A
            ans++;
    ) K) F. I6 B0 g2 h9 }# M        output();
    ( H- x) `2 X4 s( l. |# o+ ?        return ;
    / {2 D8 g/ M  F    }* G& g8 C3 [: a( D2 A$ c5 x
        for(int i = 0;i< 4;i++) {
    / B- W/ a9 C3 E3 `        int tx = x+ne[0];
    5 c( {1 T2 H/ `9 h1 F        int ty = y+ne[1];- f, R- V2 o: j6 V9 j$ O" N4 j

    " y# o; h# Z3 p6 S5 I        if(x> 6||y> 6||x< 1||y< 1||vis[tx][ty]) continue;
    2 S+ V+ J8 `' h7 ]/ [8 d! N! F8 ~        vis[tx][ty] = true;
    8 n: D3 z3 b* l0 y; M        dfs(tx,ty,step+1);
    4 V6 O) u  v4 @; H5 o/ m        vis[tx][ty] = false;
    # V6 B+ V& e% n6 }    }" Q) Q8 F2 ]9 {  d6 q
        return ;6 y# K5 L& U6 j
    }
    9 T: l, ?1 f3 D4 s/ e+ b
    , v4 S0 K6 H+ @4 X! O2 @$ Oint main() {6 X# v2 E& t+ p/ N
        dfs(1,1,0);
    , y6 Q6 ^% C3 W! C. Z% @( Q- g    cout<<ans<<endl;
    ; u; A% |' E- W5 n; k5 m" L0 J# v- i& ~8 W) X
        return 0;
    ! J# p2 B/ N9 K, c}
    2 A# w* {  u7 g3 u$ g$ c--------------------- - a7 p* c$ r; X' G2 x- O
    作者:nka_kun 5 o3 i8 ~. B; b/ W5 Y, v6 Q
    来源:CSDN , p7 [- p- `$ I2 c# Q! a/ N
    ) _3 a0 C2 \: _* H8 u# i

    2 J# A* M8 O1 G9 N- ]
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-9-27 21:31 , Processed in 0.382575 second(s), 50 queries .

    回顶部