- 在线时间
- 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组决赛题解第五题
1 z0 _" K- {" N4 L i4 ?8 ^$ x/ L在一个5*5的方格上走边界点,其实也就是6*6的图,从左上角开始走,不走重复点且在12步之内走回左上角点,问方案数 }. h7 D. }8 O/ t, Q) B) \
直接dfs,需要减掉 (0,0)->(1,0)->(0,0)和(0,0)->(0,1)->(0,0),这两个路线都重合了2 G6 A7 `( y$ u, O* K$ o! C
结果: 208-2=206 8 F5 J* V9 d: S" k: \1 O
代码:6 O7 V- b9 G/ I% W# n( U/ a. M
#include<bits/stdc++.h>- d5 l$ n" r; q
#define mem(a,b) memset(a,b,sizeof(a))
! j1 U( \- M0 l3 F% Q- F" _, Cusing namespace std;
4 `% \% Y( ~; p( rtypedef long long ll; U) N8 R- }; z- G: Y" o
const int inf = 0x3f3f3f3f;
1 m' [7 T* r# F. @) I+ Lconst int maxn = 3e5+55555;# i9 S- d, }5 }1 _, T- v1 ?# x6 Z
const ll mod = 998244353;
1 [2 R/ H0 X4 C/ ~const double eps = 1e-7;
' S) b% w/ y7 ?9 m: o% {1 U. o6 g+ e G
bool vis[10][10];. g# [! ]# s9 B
int ne[4][2] = {1,0,-1,0,0,1,0,-1};7 B4 f2 a% n ]2 v2 F6 G
int ans;
5 Q+ o( ]8 f G) M3 F6 z7 ]+ M
L0 r$ N" w& g3 jvoid output() {/ `2 |9 s2 X) O( A8 r' w
for(int i = 1;i<= 6;i++) {( ]$ `4 _& F1 E
for(int j = 1;j<= 6;j++) {
8 U/ w: l a5 r0 B2 _* _; O( N cout<<vis[j]<<' ';* a8 a7 e% @- J1 c7 N1 f. R9 b
}( v5 h& f( F! W3 p
cout<<endl; z- K% A# U$ |* O; ~6 G
}7 O3 j% M' j/ V
cout<<endl<<endl;% j+ Z2 {# N" Y5 Q8 r
}
5 [3 f% K- R B. c4 h" Y3 \% H2 ^& @
void dfs(int x,int y,int step) {
# Y6 d! ?+ o) C( w( [" |, t if(step> 6) {
+ n5 m R6 f6 E9 l" ?$ E return ;
: n5 B' r: i+ @/ N$ e* H0 ~5 @ }
( p! [6 [, l9 c+ P if(x == 1&&y == 1&&vis[1][1] == true) {
/ |" t9 ~& [, E ans++;. s8 P8 `! l& B$ f! f
output();+ j3 m- {+ n: u ]
return ;
( J+ g7 L. {1 P( \& W7 f" a }; ?2 g9 ?' f; G% y! H0 D* ?; `
for(int i = 0;i< 4;i++) {
) ^0 M6 j0 _. v! G* S9 ^' S int tx = x+ne[0];& C' }! f7 ~2 R; y) s) `
int ty = y+ne[1];2 g9 N m' {; ?/ F
4 x0 m# e7 Y E8 X) y0 F1 X4 W if(x> 6||y> 6||x< 1||y< 1||vis[tx][ty]) continue;9 O5 N; w# Z$ b1 q/ h2 `
vis[tx][ty] = true;
$ }0 X- Y2 h0 e. G3 L% ]3 T dfs(tx,ty,step+1);+ [& H- T4 H- S- V X9 t' N
vis[tx][ty] = false;
8 _6 h4 a+ U6 e0 ]5 M }4 c# J9 Y: D6 A) r9 G8 c) s1 v
return ;! _# D# X9 r; i% v4 ~, k* \
}7 c; ?3 ]3 A9 @: n" z3 N
E' V+ k2 S* G4 G9 C
int main() {6 l" F1 [6 i w+ K l/ h1 B
dfs(1,1,0);
( I' C. \+ ~8 v2 u D cout<<ans<<endl;- G, ^+ D1 X7 ?( R; }
5 v. {! @" ]( j( t5 I- b9 r, l7 u; w
return 0;
9 |: s$ f4 P9 j8 H- E8 Y}& `3 u3 G9 D. O& K0 t+ o
--------------------- 6 R+ m5 c! @+ m' T) ~9 G* [4 K
作者:nka_kun 6 _+ ~3 ]* S9 }5 d5 }' F8 {
来源:CSDN
9 N! r) T5 t# c; m! i; K
* u6 h& F p/ ]% I, G: }+ G" K5 x
|
zan
|