- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 565641 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174915
- 相册
- 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组决赛题解第五题
# 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
|