- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 564679 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174627
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
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
|