QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1899|回复: 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组决赛题解第五题
    " ]- u. G5 l4 R4 {+ n& l' b4 h' a在一个5*5的方格上走边界点,其实也就是6*6的图,从左上角开始走,不走重复点且在12步之内走回左上角点,问方案数
    * V# J* ?# E' }$ G6 S6 U, p4 ^直接dfs,需要减掉 (0,0)->(1,0)->(0,0)和(0,0)->(0,1)->(0,0),这两个路线都重合了
    + _6 H5 c; z6 m' i8 ~% v( o1 N结果: 208-2=206    6 q9 n& i# K/ D- v* M
    代码:
    ! D  _$ }- v  b5 i#include<bits/stdc++.h>" A/ R! S5 T( k) s* ]2 F  V) o9 ^0 Z
    #define mem(a,b) memset(a,b,sizeof(a))
    " T; @$ Z; X& z4 b& Eusing namespace std;
    8 \" |, \9 z; Htypedef long long ll;2 N6 o! e1 v3 z# n3 d
    const int inf = 0x3f3f3f3f;
    3 j/ g. p- q) q4 `& \0 _) D0 d' aconst int maxn = 3e5+55555;: e6 W! Z* D: @6 G) b: d3 n
    const ll mod = 998244353;
    7 t" K# G7 M+ t! n4 uconst double eps = 1e-7;: t) V, m7 B. L3 @" P
    $ @$ F7 F9 c2 J1 ~/ [5 k5 A: D  }
    bool vis[10][10];3 S7 I( p5 K# {9 d( J6 f/ J
    int ne[4][2] = {1,0,-1,0,0,1,0,-1};
    . k) U0 N7 @: t& a7 h5 w4 fint ans;" J% r: l) D, B  R3 x' N  G

    5 _- Q) s$ v2 r, S; a2 Z) {3 ]void output() {3 }+ G; a# b' b2 V
        for(int i = 1;i<= 6;i++) {7 p' L+ k9 A# F6 ?8 b: C' v
            for(int j = 1;j<= 6;j++) {
    - u& e6 {5 m( y+ ?  A' H8 A( f0 E            cout<<vis[j]<<' ';( W4 K& x3 H6 _
            }+ k6 C5 Y: e. Y+ o
            cout<<endl;
    , R- _4 p, \# }2 i: M8 l1 A2 r    }2 q, k6 b- o! X" b$ u/ Y
        cout<<endl<<endl;
    ; ~: n7 ~) [  v}' C8 S: `/ m' u. W9 @9 z1 l% q

    8 U' O5 O/ i5 u2 Q" E1 e& N( pvoid dfs(int x,int y,int step) {
    0 v+ O2 i; r# t+ p' U! b/ F7 ^    if(step> 6) {2 Y& K6 I+ ^! F1 c6 h. |
            return ;3 A. w) h0 q! q/ i
        }' Z+ W3 H3 O) _7 h1 e
        if(x == 1&&y == 1&&vis[1][1] == true) {0 ~# a6 t, N; [( g0 y2 C
            ans++;. ?/ y4 G  Z' I5 U7 x3 e
            output();
    ! p% U# f) m. o        return ;7 N4 i+ t5 N* G9 |) E, w  a
        }
    / E9 b: f; F0 t$ s5 O0 c6 G/ K    for(int i = 0;i< 4;i++) {
    $ X9 c- p' I/ w! y: l/ j        int tx = x+ne[0];, c; a! ^" b' h: G( t: H* E
            int ty = y+ne[1];; a- @7 n+ n6 ~! b! }2 B0 y
    * G2 |0 z2 q/ Y& o  }8 u
            if(x> 6||y> 6||x< 1||y< 1||vis[tx][ty]) continue;
    2 }* S6 q6 C& h5 P0 n& i. Q1 q% s        vis[tx][ty] = true;
    & T2 ?4 P- a. S8 C7 h" {        dfs(tx,ty,step+1);
    4 x9 r5 P4 z8 t, B1 \        vis[tx][ty] = false;
    1 K- C9 u  f# N% j) v" k0 X3 G, v    }
    + Q; e5 p& G) O  D    return ;& @) |3 C5 O, A' ?: }# s
    }
    1 d4 ]. H) V: m# `" _# }" }- S# z; ~6 k6 z
    int main() {, X+ j" ]4 P, ?' d0 Y
        dfs(1,1,0);. i3 t3 E: d; g* M# ~7 l
        cout<<ans<<endl;6 z1 s  f9 J! l# G! P" C* @9 q

    : z% ], u/ o" S$ H3 u/ c7 U    return 0;1 V) K5 O( c. S; i7 ]& K
    }
    ( o& L+ W* O- b: `2 _. k. P7 U--------------------- ) X8 p6 q' R$ E! w: Y
    作者:nka_kun ) r4 Y+ p& E$ W/ b- N1 ?+ b
    来源:CSDN
    ' ^3 `0 O9 K! n: m: _: B: e+ E! `0 M) i, G2 q1 z
    0 Z0 X: j( ?; X
    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-6-13 05:42 , Processed in 0.389128 second(s), 50 queries .

    回顶部