QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1845|回复: 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组决赛题解第五题
    * t6 _& R5 |# ^' N$ @在一个5*5的方格上走边界点,其实也就是6*6的图,从左上角开始走,不走重复点且在12步之内走回左上角点,问方案数
    3 o5 C$ J$ K5 |# K直接dfs,需要减掉 (0,0)->(1,0)->(0,0)和(0,0)->(0,1)->(0,0),这两个路线都重合了! U0 h0 R+ c3 K4 T8 m0 N% E
    结果: 208-2=206   
      X  Q9 Y6 N4 ~0 E5 ~8 I代码:( ^+ ]5 J: N  F3 c5 X- D" B+ f0 d
    #include<bits/stdc++.h>
    % h- A7 k) C) `9 j% W' z#define mem(a,b) memset(a,b,sizeof(a))
    ' ]7 t# e4 G, ?4 [* vusing namespace std;
    . }! e; i* e  t8 r, ~typedef long long ll;
    & M: j* z' i: R2 v1 }: e1 x& Z2 [const int inf = 0x3f3f3f3f;$ ?6 R8 A. x* w" g. j2 }
    const int maxn = 3e5+55555;
    3 \8 O4 l: B& S8 i5 `/ hconst ll mod = 998244353;* W+ E( y5 d) t: g! E% J
    const double eps = 1e-7;: `, s* a# L3 o3 W! \) h
      N5 o$ j6 b; s* {
    bool vis[10][10];4 Z+ o2 ]+ M, D6 j/ ]: g6 u
    int ne[4][2] = {1,0,-1,0,0,1,0,-1};
    - D% J$ _/ U6 q" oint ans;
    5 R0 G; K" J0 q( C0 H1 @! X2 i' q' b0 P! l) J' E$ N
    void output() {  W4 {8 T8 B4 J4 x: G' [
        for(int i = 1;i<= 6;i++) {+ X- @* m, |0 ^  s$ H( W4 X5 J
            for(int j = 1;j<= 6;j++) {
    ; y; `# a' I2 N- j: ~+ u  S. L            cout<<vis[j]<<' ';
    % F2 m, p- _& B% O0 B        }7 U' D5 N2 y. l
            cout<<endl;
    ! T$ w: \; v, o+ i* Q1 N    }
    , Q- L# F8 @$ ?# l+ r' R8 s9 r    cout<<endl<<endl;* J7 e* m. D& Q2 p. d# [
    }
    $ q& a9 |3 L" L3 j+ a
    " G& A5 B7 ]. q# ?9 avoid dfs(int x,int y,int step) {: r( O, h. ~2 c
        if(step> 6) {6 ]2 w: v# n: H2 [- O
            return ;9 R1 `# J2 r0 L/ }4 ~
        }
    0 y+ M3 s9 |% V- b, b; F    if(x == 1&&y == 1&&vis[1][1] == true) {
    7 @$ A; W% T( R4 ]        ans++;
    / c1 j. k" o5 N' `0 n        output();
    & g0 X/ R& n7 P% ^; `6 K        return ;% {( N. N& j/ s. M) C* |
        }
    / A" h  |7 u7 s" j    for(int i = 0;i< 4;i++) {/ C6 E  B3 `9 T* g$ c/ Z, Y# P, B8 F; t
            int tx = x+ne[0];
    - ~* B9 }, g- V; c/ x/ `4 W  Z% a- v        int ty = y+ne[1];: T$ E/ ]6 y, h0 z
    " z+ X: s/ G( i  i' a3 Q, A
            if(x> 6||y> 6||x< 1||y< 1||vis[tx][ty]) continue;
    " N4 D4 D7 f1 A# r        vis[tx][ty] = true;3 i! U8 L  X8 a( F
            dfs(tx,ty,step+1);
    - N1 ?9 c: p& U: ~7 a! G        vis[tx][ty] = false;
    ( f8 w, l8 _7 B/ W9 w2 ?9 d+ f+ l    }
    3 p6 Z+ v, o& |/ @; M1 V1 ]    return ;% M9 I0 s7 K3 Q+ i9 h9 y
    }
    . o' m9 j- \! j  A2 b; Y: Y' o0 w+ C1 E/ H/ u6 h$ w' ?: }: h2 L
    int main() {
    9 m1 y- l; Q" u& _% b( g3 R    dfs(1,1,0);
    ! @* }! k- z3 p( K    cout<<ans<<endl;3 J( r& J# B: m* i! Z1 W& I$ e, l

    , c5 \& K# F% ?* V1 n    return 0;
    4 b4 G5 K+ e  D$ |, `0 \2 ?+ w}6 e' e1 F* s% d7 W! M
    ---------------------
    - c8 Z# D  J4 ~! c作者:nka_kun : _$ o2 j" L% x0 P) _. i0 n
    来源:CSDN % ^1 h7 W/ S& @
    ! H/ v3 ~/ y' ?8 l/ h( S# {" U  L
    ; U. g' h7 R1 N! N; F8 p
    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-4-13 02:56 , Processed in 0.281010 second(s), 51 queries .

    回顶部