QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1851|回复: 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组决赛题解第五题
    % M  n5 c; M$ H, _; @在一个5*5的方格上走边界点,其实也就是6*6的图,从左上角开始走,不走重复点且在12步之内走回左上角点,问方案数) q7 s. A7 o$ @2 k! T# N/ f3 h
    直接dfs,需要减掉 (0,0)->(1,0)->(0,0)和(0,0)->(0,1)->(0,0),这两个路线都重合了& e7 T8 J: K9 C% }6 Q2 [
    结果: 208-2=206      j+ V$ |/ F2 S7 m( D2 b. o
    代码:4 \0 J# w' l1 }
    #include<bits/stdc++.h>
    + y0 [9 w# Z. l+ H1 ?* i- S#define mem(a,b) memset(a,b,sizeof(a))
    6 o5 g7 H5 E7 C0 r6 D, S" o8 G! \using namespace std;+ K  t" t5 E  F' r" _5 ?
    typedef long long ll;# ~+ m" A' N: B# w: c2 M7 B
    const int inf = 0x3f3f3f3f;0 S/ L, I2 E& M5 e- p  J
    const int maxn = 3e5+55555;
    1 [1 u; Q6 s3 B7 c; S) fconst ll mod = 998244353;9 U/ |( T$ ?  p) u  _  j
    const double eps = 1e-7;
    $ e% X' k& C$ N4 p8 P4 }9 k' y! Y; _( R8 f: q- }/ a( ]! n
    bool vis[10][10];
    9 S3 ]3 H% ~. F4 y9 n3 Rint ne[4][2] = {1,0,-1,0,0,1,0,-1};- j& X" l$ @! P3 H
    int ans;
    1 s3 ~2 v8 T; \& a' b
    . x/ _. m9 _2 D. V  Y/ s! pvoid output() {8 G; a# [6 F( O4 d# G7 B7 }
        for(int i = 1;i<= 6;i++) {
    ; _- G/ p- J7 s$ Z3 d        for(int j = 1;j<= 6;j++) {
    & x8 O* i, y/ l6 O4 w) V            cout<<vis[j]<<' ';( T0 @2 j2 Q) N' i4 h& j
            }2 ?" [  G/ R* V6 I' p4 f0 D
            cout<<endl;
    8 J4 l9 a2 C$ I, c/ b2 E, Y- g    }
    9 a* s3 z( I" {( l* Q8 B+ ^    cout<<endl<<endl;+ Z8 F2 ~# F$ Z$ s5 _* q
    }
    0 R: X/ k1 E! B3 W* n6 _' t5 W* L+ t
    void dfs(int x,int y,int step) {6 Z! l( u  l; J7 k6 F$ j
        if(step> 6) {; P1 x$ z; W: n2 f6 G2 p
            return ;
    * B. w- m: y1 f. {" ]    }
    + K: P+ D( M6 d' S. C    if(x == 1&&y == 1&&vis[1][1] == true) {/ U, c1 @' K) y) g1 Y# R
            ans++;
    9 `4 C1 |" m- h3 b3 l5 r$ L        output();
    + P9 Z: v3 C( o1 X        return ;
    3 }: g1 O: {: a+ m# Y+ d    }
    4 h  w% \1 C9 k, Q! z    for(int i = 0;i< 4;i++) {7 l; A. ?; |8 u, b
            int tx = x+ne[0];, [& k) n- i2 \- t8 l& @; U1 S& E
            int ty = y+ne[1];
    # i0 V* r& ^7 n  F8 K5 A. x9 C# O$ h1 u3 U
            if(x> 6||y> 6||x< 1||y< 1||vis[tx][ty]) continue;
    / D. g2 B3 j5 e! t* G2 X( g        vis[tx][ty] = true;
      n1 }* V, x2 ?        dfs(tx,ty,step+1);
    1 P# a  Q1 ~) @& t        vis[tx][ty] = false;( n. d4 C5 B& T
        }2 b* x( [% O+ l
        return ;0 @3 a7 f$ B! W* p0 Z+ `! ~* l* g
    }
    4 z' c, Y- Z. m* H* d, r( x, y; W5 x4 P1 p4 X
    int main() {; k( {( I1 g0 i5 ^1 t
        dfs(1,1,0);
    9 ~* k4 q, w4 \: j- j6 f4 y    cout<<ans<<endl;
    9 j) k" ~# @6 \+ H% |9 \9 @
    4 O2 m9 ^  v1 v4 z( Z6 k    return 0;# g# X' M8 T* x' v4 z
    }- r! U  i6 y+ q  i% C$ a" n1 ~" W
    --------------------- & z8 ~/ M- a* ?) r
    作者:nka_kun + _$ D' P; q  |! b
    来源:CSDN # \7 E6 A" p' w" X( t& Y) }1 y
    / F6 ]  _, K$ N: Q7 o; F6 x

    . A5 s' X) _& n4 A' v
    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-17 04:01 , Processed in 0.424718 second(s), 51 queries .

    回顶部