QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1954|回复: 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组决赛题解第五题
    # G) ]9 x$ [5 C  c. G) T) ]在一个5*5的方格上走边界点,其实也就是6*6的图,从左上角开始走,不走重复点且在12步之内走回左上角点,问方案数
    * O5 {0 n+ s, D- ?' t直接dfs,需要减掉 (0,0)->(1,0)->(0,0)和(0,0)->(0,1)->(0,0),这两个路线都重合了
    0 J* {; z6 @% q; J结果: 208-2=206    1 j- x/ R" ?8 W( X9 t
    代码:5 D0 s! W' z% C5 q0 i- b4 W. O
    #include<bits/stdc++.h>3 P2 U, T, z) ~8 V
    #define mem(a,b) memset(a,b,sizeof(a))
    * W$ g) B, ]1 G5 K8 [1 susing namespace std;- K3 x8 v5 c/ \$ [
    typedef long long ll;
    ( A" }" |1 B& a, `% \! oconst int inf = 0x3f3f3f3f;
    " c' `5 o2 @! D1 D2 ]2 q0 o! Nconst int maxn = 3e5+55555;
    ) g* f& r' T9 O  ^const ll mod = 998244353;
    $ a0 ?  X+ V1 [- L# F. L+ J: pconst double eps = 1e-7;0 v5 O! U" K, ]) s
    " |- S: _+ r) F0 ^
    bool vis[10][10];4 j$ X/ i- n7 _; g
    int ne[4][2] = {1,0,-1,0,0,1,0,-1};# n- E! x' T. c; L( t
    int ans;  B4 {% |: N+ a9 s/ E
    6 V3 ~( {1 l$ R% V
    void output() {7 F" d) d  Z+ g
        for(int i = 1;i<= 6;i++) {: ~0 _2 Z- f- k7 J
            for(int j = 1;j<= 6;j++) {
    0 C2 x( J' A% v3 j            cout<<vis[j]<<' ';4 e& P# L' |0 C7 q9 J& k  N
            }. t3 f6 q# ]8 ~4 R7 `0 ~( s
            cout<<endl;1 `4 b( |* _- M7 `
        }7 d0 l: K2 E0 _! v7 q
        cout<<endl<<endl;; X! A" K  N# V6 d: L
    }
    : @$ J; Z8 K: Z, U7 Q
    . F  {! Y* j+ S9 `# qvoid dfs(int x,int y,int step) {
    # E; @0 B1 A* V6 H    if(step> 6) {# W# j# a' H5 o6 E
            return ;
    2 b9 O, Y* n4 b" A    }
    1 U" v+ g4 g! |" E7 n+ f    if(x == 1&&y == 1&&vis[1][1] == true) {  x+ \" J( }' }! q7 o
            ans++;
    1 i( B( E- i1 O* E; E        output();
    7 z$ p* u7 ]$ \9 F' ~0 B. s        return ;
    , c9 F- J4 U9 W    }
    / I( b$ c- L" L* `: p% p9 e& G    for(int i = 0;i< 4;i++) {
    ! w8 M5 |# E* g3 M/ w        int tx = x+ne[0];
    ( K& W. e$ ]% |; ?( N% G4 A        int ty = y+ne[1];
    ( J$ y) f* c8 B0 R6 A) t: D
    * p* r* C8 w, l        if(x> 6||y> 6||x< 1||y< 1||vis[tx][ty]) continue;6 `6 c* @; D% }- w  @) U0 W! W
            vis[tx][ty] = true;+ G3 @' [1 e3 f8 `
            dfs(tx,ty,step+1);  ^, I% J: I7 r% Q7 a
            vis[tx][ty] = false;
    2 [. L0 `* C6 T6 X8 D+ i- v    }4 k8 @  Z; G9 y/ w) X% k" z7 H
        return ;4 s$ h; v: Y8 ~0 Q* P4 |; z
    }
    + x1 @+ ~2 l. c
    & w8 l" @9 R9 L- k$ v! eint main() {% G" E7 X! d0 G) m; Y, y
        dfs(1,1,0);9 ?; N  u, Y1 ?, L8 z  _# m
        cout<<ans<<endl;0 H% T1 R! }2 |3 U3 s

    # A! `/ \& j$ M6 {4 p    return 0;
    2 K0 _7 r/ s- a+ b! X}$ K& T  ^2 u% f; m. t
    ---------------------
    $ |" _$ N% k! d; l* n% Q) o作者:nka_kun 1 y* K( I( z, H& c1 ~* I
    来源:CSDN 2 `+ _' D! ~% h, ]4 x+ S+ [% Y. E
    ! B2 t, L, I. f
    2 N7 v* t9 _3 B  S$ H
    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-7-30 04:11 , Processed in 0.406398 second(s), 51 queries .

    回顶部