QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1957|回复: 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组决赛题解第五题8 X3 `6 c0 G5 Q3 J  _
    在一个5*5的方格上走边界点,其实也就是6*6的图,从左上角开始走,不走重复点且在12步之内走回左上角点,问方案数: Y! c! T0 X& [  c6 k5 ]
    直接dfs,需要减掉 (0,0)->(1,0)->(0,0)和(0,0)->(0,1)->(0,0),这两个路线都重合了( F, H; m) x0 y* L$ {! ~& {
    结果: 208-2=206   
    5 s3 b" s7 {: B+ d# |4 C  n) W代码:, x  T: @$ o6 J+ a1 ?- ]
    #include<bits/stdc++.h>+ p8 |! R5 y7 l$ q( B: E- O& {7 g
    #define mem(a,b) memset(a,b,sizeof(a))) y# o: p/ U, g$ `
    using namespace std;" V& R* ^# G& f. W: d- G
    typedef long long ll;
    ' O7 ~# R7 u' i0 z8 ^- Hconst int inf = 0x3f3f3f3f;
    , ^1 s0 j6 p% e* U" x* Hconst int maxn = 3e5+55555;
    # Q; a0 @+ n' J6 hconst ll mod = 998244353;
    ; @3 b. i8 c6 V; n1 A0 ^const double eps = 1e-7;
    - S, ]# H3 H$ I. y9 j* p' @2 S1 T
    bool vis[10][10];9 L1 |1 Y1 X, h) u  L
    int ne[4][2] = {1,0,-1,0,0,1,0,-1};0 A+ _0 T7 B0 A+ W4 n* t$ Q& l
    int ans;; h% G1 q4 a' {
    4 K7 {  R- L6 }; G: i
    void output() {
    3 O' g- E5 B2 u    for(int i = 1;i<= 6;i++) {8 q$ w1 U5 n* e# ]: ?3 y% q" \
            for(int j = 1;j<= 6;j++) {/ a/ w4 e' z3 r- I6 [
                cout<<vis[j]<<' ';
    1 j& d" [3 n4 S/ l8 D        }
    " @* F2 q% B+ u/ [& O+ P  Z        cout<<endl;/ s! \1 f; e4 G. Y
        }
    + P4 H% H  c; G3 L! c. r    cout<<endl<<endl;: m7 M, _0 u3 i4 p. t% j0 p' Z
    }
    6 J( x0 Z9 g! _% O
    ; V$ X/ N" ~: }" ^  \3 P. H9 u' M1 Bvoid dfs(int x,int y,int step) {# j2 g9 h/ \/ ^/ x
        if(step> 6) {
    7 E/ }: ^0 ~3 I& V& }( ]/ u        return ;
    0 c* a: `% i1 j: [    }/ {1 X# {# F1 `; k9 w* a
        if(x == 1&&y == 1&&vis[1][1] == true) {$ a% o4 _" F! J+ `
            ans++;( d; ?) o* L; c$ N: C- E
            output();
      }, _3 l9 J- A4 z        return ;) U% z$ S4 n, Y0 A3 r) M
        }
    3 h  R1 N. x0 y. u0 }' D    for(int i = 0;i< 4;i++) {
    : c: g3 H# U- s# h1 A* p; k7 t        int tx = x+ne[0];% n& D) s+ t+ e
            int ty = y+ne[1];
    - b) r) m9 h- N$ r+ m8 D+ V. A9 U* y  s8 j" `" @0 y$ |
            if(x> 6||y> 6||x< 1||y< 1||vis[tx][ty]) continue;! U# H7 Y# j% Z* `8 C
            vis[tx][ty] = true;
    9 b& O' f. k6 d0 U" v        dfs(tx,ty,step+1);0 Z" H7 e4 p+ ^& m! h5 S
            vis[tx][ty] = false;0 \9 D- |( S+ s3 k( ?9 k
        }
    % W5 f6 a: K' C0 X    return ;
    ( ]$ N  x  a% @}
    % |8 Y4 _) E* }# l3 S0 z3 ]
    . \4 x2 {/ }' ~int main() {
    + E. y7 F  e: R0 ]+ g    dfs(1,1,0);* T% z! v7 _) R, g! v; X5 ?5 v
        cout<<ans<<endl;
    , N# N$ R" M6 y$ _9 y- H' N3 ~6 \; C
        return 0;0 P' J" Q# q9 C
    }' |; P* V  i7 X: {
    --------------------- " D% a' e: r  Z  v9 }" e3 Q) x1 ^
    作者:nka_kun
    , D9 N1 x" j& E) s8 q来源:CSDN 2 a6 N3 a3 S) |( w% f) H

    7 L' D7 l$ Q$ C, j3 s" j% s2 n* a4 K* _* r
    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-8-1 03:28 , Processed in 1.235150 second(s), 50 queries .

    回顶部