- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 563312 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174216
- 相册
- 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组决赛题解第五题
* t6 _& R5 |# ^' N$ @在一个5*5的方格上走边界点,其实也就是6*6的图,从左上角开始走,不走重复点且在12步之内走回左上角点,问方案数
3 o5 C$ J$ K5 |# K直接dfs,需要减掉 (0,0)->(1,0)->(0,0)和(0,0)->(0,1)->(0,0),这两个路线都重合了! U0 h0 R+ c3 K4 T8 m0 N% E
结果: 208-2=206
X Q9 Y6 N4 ~0 E5 ~8 I代码:( ^+ ]5 J: N F3 c5 X- D" B+ f0 d
#include<bits/stdc++.h>
% h- A7 k) C) `9 j% W' z#define mem(a,b) memset(a,b,sizeof(a))
' ]7 t# e4 G, ?4 [* vusing namespace std;
. }! e; i* e t8 r, ~typedef long long ll;
& M: j* z' i: R2 v1 }: e1 x& Z2 [const int inf = 0x3f3f3f3f;$ ?6 R8 A. x* w" g. j2 }
const int maxn = 3e5+55555;
3 \8 O4 l: B& S8 i5 `/ hconst ll mod = 998244353;* W+ E( y5 d) t: g! E% J
const double eps = 1e-7;: `, s* a# L3 o3 W! \) h
N5 o$ j6 b; s* {
bool vis[10][10];4 Z+ o2 ]+ M, D6 j/ ]: g6 u
int ne[4][2] = {1,0,-1,0,0,1,0,-1};
- D% J$ _/ U6 q" oint ans;
5 R0 G; K" J0 q( C0 H1 @! X2 i' q' b0 P! l) J' E$ N
void output() { W4 {8 T8 B4 J4 x: G' [
for(int i = 1;i<= 6;i++) {+ X- @* m, |0 ^ s$ H( W4 X5 J
for(int j = 1;j<= 6;j++) {
; y; `# a' I2 N- j: ~+ u S. L cout<<vis[j]<<' ';
% F2 m, p- _& B% O0 B }7 U' D5 N2 y. l
cout<<endl;
! T$ w: \; v, o+ i* Q1 N }
, Q- L# F8 @$ ?# l+ r' R8 s9 r cout<<endl<<endl;* J7 e* m. D& Q2 p. d# [
}
$ q& a9 |3 L" L3 j+ a
" G& A5 B7 ]. q# ?9 avoid dfs(int x,int y,int step) {: r( O, h. ~2 c
if(step> 6) {6 ]2 w: v# n: H2 [- O
return ;9 R1 `# J2 r0 L/ }4 ~
}
0 y+ M3 s9 |% V- b, b; F if(x == 1&&y == 1&&vis[1][1] == true) {
7 @$ A; W% T( R4 ] ans++;
/ c1 j. k" o5 N' `0 n output();
& g0 X/ R& n7 P% ^; `6 K return ;% {( N. N& j/ s. M) C* |
}
/ A" h |7 u7 s" j for(int i = 0;i< 4;i++) {/ C6 E B3 `9 T* g$ c/ Z, Y# P, B8 F; t
int tx = x+ne[0];
- ~* B9 }, g- V; c/ x/ `4 W Z% a- v int ty = y+ne[1];: T$ E/ ]6 y, h0 z
" z+ X: s/ G( i i' a3 Q, A
if(x> 6||y> 6||x< 1||y< 1||vis[tx][ty]) continue;
" N4 D4 D7 f1 A# r vis[tx][ty] = true;3 i! U8 L X8 a( F
dfs(tx,ty,step+1);
- N1 ?9 c: p& U: ~7 a! G vis[tx][ty] = false;
( f8 w, l8 _7 B/ W9 w2 ?9 d+ f+ l }
3 p6 Z+ v, o& |/ @; M1 V1 ] return ;% M9 I0 s7 K3 Q+ i9 h9 y
}
. o' m9 j- \! j A2 b; Y: Y' o0 w+ C1 E/ H/ u6 h$ w' ?: }: h2 L
int main() {
9 m1 y- l; Q" u& _% b( g3 R dfs(1,1,0);
! @* }! k- z3 p( K cout<<ans<<endl;3 J( r& J# B: m* i! Z1 W& I$ e, l
, c5 \& K# F% ?* V1 n return 0;
4 b4 G5 K+ e D$ |, `0 \2 ?+ w}6 e' e1 F* s% d7 W! M
---------------------
- c8 Z# D J4 ~! c作者:nka_kun : _$ o2 j" L% x0 P) _. i0 n
来源:CSDN % ^1 h7 W/ S& @
! H/ v3 ~/ y' ?8 l/ h( S# {" U L
; U. g' h7 R1 N! N; F8 p
|
zan
|