QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1848|回复: 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组决赛题解第五题0 _: S7 V- B. Y6 X: b
    在一个5*5的方格上走边界点,其实也就是6*6的图,从左上角开始走,不走重复点且在12步之内走回左上角点,问方案数
    - |8 d4 H+ C1 _+ C直接dfs,需要减掉 (0,0)->(1,0)->(0,0)和(0,0)->(0,1)->(0,0),这两个路线都重合了5 y  S7 J4 u- B6 P1 p; C7 m' L% Q1 j$ {
    结果: 208-2=206    - ]; Y( p- J+ x
    代码:
    + ?' o% a: B6 D: A0 M8 r# C! o#include<bits/stdc++.h>
    $ A% I2 e8 k6 _, e/ S  s# Q#define mem(a,b) memset(a,b,sizeof(a))
    & G8 c. I+ G5 N* D! Lusing namespace std;& `. g5 ~( Z: P  f, b: G
    typedef long long ll;4 {; Q( K: n- e0 i8 M! i- _6 l
    const int inf = 0x3f3f3f3f;
    2 J- Y. l& a+ F0 Zconst int maxn = 3e5+55555;
    ! J9 W4 c( Q' }const ll mod = 998244353;) c3 S( g: y7 o. k
    const double eps = 1e-7;% i& L8 J, w  F! x- U

    $ `& m' ~5 H; z% t7 s1 Wbool vis[10][10];8 i- e# y9 c$ d& q8 x% q, L) E  i- {  E
    int ne[4][2] = {1,0,-1,0,0,1,0,-1};
    ( V2 x1 K  F2 Xint ans;
    7 l9 M4 x* z; ?# k/ J2 z% o
    " Z' H1 T- r( A/ k& W$ n; C$ H- Evoid output() {  J+ I3 }3 ^( z, [+ T7 c$ D) u
        for(int i = 1;i<= 6;i++) {
    ( a% G& c- D- T. m% u5 W        for(int j = 1;j<= 6;j++) {
    : X5 q3 N+ o, l4 U; P* j. h            cout<<vis[j]<<' ';
    ( T! w7 D( \" {( `        }
    + G" y. m% t5 C1 F        cout<<endl;
    0 F  H: s) r7 r4 I1 d    }
    " Q2 `: X0 Z+ P: W% F, {% k    cout<<endl<<endl;
    . G/ Z; P' o( I' o/ d% v' A}0 ^( z3 j* P+ C! }) g% G0 T
    1 ~3 E" I2 Y# \3 M/ q1 i
    void dfs(int x,int y,int step) {# ~3 H7 a% F% t! P8 W. K' S3 e
        if(step> 6) {
    ! V+ P8 s0 a5 Q" z+ O- c) b+ ?        return ;! T. B; n9 y% N  j
        }& y: a: u/ T. ~3 w2 o
        if(x == 1&&y == 1&&vis[1][1] == true) {
    0 \: Y- L* l% B+ h        ans++;
    4 s# H1 G$ e8 j$ E        output();) |  }# R. n  `0 E0 H
            return ;; @1 c5 B! n7 l
        }: T' V% A6 C) W+ ~. x
        for(int i = 0;i< 4;i++) {
    ; R/ o+ k5 U* E* {, c        int tx = x+ne[0];1 f) Y- t( }- B
            int ty = y+ne[1];, f& B, s$ J) n: _+ b/ k

    ! k+ V2 q4 R$ W/ x7 _        if(x> 6||y> 6||x< 1||y< 1||vis[tx][ty]) continue;
    ; i7 C2 ?' l1 m: `. ~; ~0 ]3 Q        vis[tx][ty] = true;1 h( z. M3 v5 u4 G8 o
            dfs(tx,ty,step+1);6 U5 Y7 d8 ?, M6 @# \1 `9 |; O- ]
            vis[tx][ty] = false;5 S% f: D5 M7 o+ O; f
        }
    . l2 G; i/ e9 k' r3 T8 g0 b    return ;: v' \( ~4 P+ `" M  [
    }
    6 ]) X6 ^& h- q; Q/ q: a
    9 ]9 _0 V9 O2 ^) rint main() {. `- Q; |9 Z, V4 [9 F4 T- {# N
        dfs(1,1,0);
    6 s  {5 u& J! s9 J: c% a* j, G. p( `    cout<<ans<<endl;
    1 G$ r0 l2 M# i2 w$ R$ R# i
    ( `- I; \; k% C2 ~5 Z: Y0 K# v  ^    return 0;  U% A4 {2 q$ k% u' ?8 d  C) F8 z2 i1 e
    }, B9 _4 C( m' P, u
    ---------------------
    % o; C1 T& s1 L2 L. V% ]3 g. _作者:nka_kun
    2 n( i' ~! t8 P. e/ @( @来源:CSDN ' p9 i( [5 ^9 G2 I; c: q

    ) B7 [6 T- {) T- J' ?- ]( ?& x8 r8 l2 ~" U3 h* a" W
    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 22:56 , Processed in 0.392244 second(s), 51 queries .

    回顶部