- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 565676 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174926
- 相册
- 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组决赛题解第五题
/ H7 o+ j6 U' `1 F" D. N# q在一个5*5的方格上走边界点,其实也就是6*6的图,从左上角开始走,不走重复点且在12步之内走回左上角点,问方案数: C! }0 J! J. }' i9 g3 c
直接dfs,需要减掉 (0,0)->(1,0)->(0,0)和(0,0)->(0,1)->(0,0),这两个路线都重合了
% s/ i$ _% B6 `6 t结果: 208-2=206 5 b) f( s) F1 J0 C/ u& \, i4 ~4 o
代码:5 h% ?4 _, `/ h) Y/ P$ s9 \% m! w
#include<bits/stdc++.h>, F) ?. r- J! O1 I f
#define mem(a,b) memset(a,b,sizeof(a))
- U6 h7 ~# d( D( @using namespace std;
: [! Y, p+ \/ O O" ^typedef long long ll;9 Z5 z6 q; t9 n# T. p2 h$ _, u
const int inf = 0x3f3f3f3f; j5 W) D( j4 W) i+ {
const int maxn = 3e5+55555;7 |9 l" ^! E9 m, p
const ll mod = 998244353;6 J, R/ T9 d& {
const double eps = 1e-7;9 \' ?; L& o5 O: r6 [$ q' G
; ^4 U, n4 @% Y; _
bool vis[10][10];
9 R& \! k" E3 m( z/ q0 pint ne[4][2] = {1,0,-1,0,0,1,0,-1};
0 b: f4 M4 r/ i9 Lint ans;
. {' W* x* w; I$ E) m5 M$ ]" x3 \
5 f( l. w4 a) L0 dvoid output() {
8 W D) B: N, w; Y7 G& M for(int i = 1;i<= 6;i++) {
5 ^# h1 p& I& ~- b$ o/ y& { for(int j = 1;j<= 6;j++) {
2 X! \* H5 C( [) V+ L+ I; @ cout<<vis[j]<<' ';
( x( R( o o, J/ p8 o$ V8 A" ~1 p* i1 h }
0 A7 V: K& t L1 y7 X6 V1 H1 M cout<<endl;7 V& A) k/ Y, X( o
}
% g' s% v( [/ {* ]# Q cout<<endl<<endl;2 ~& B: i( E0 @
}
! i; W3 [, G5 E$ x/ `* E7 ~
0 C4 Z( G, r9 A) o/ ivoid dfs(int x,int y,int step) {) ?- J/ Z: v" J+ c9 \
if(step> 6) {
& z7 v1 u( P: W return ;
) ?# Z+ |) Q; n) W4 f! E }# P F3 U; J6 r2 y }# L
if(x == 1&&y == 1&&vis[1][1] == true) {
) y" O% W$ h2 x* [8 D) W ans++;% H% j& R- x5 B) d8 {3 Y# c) v
output();+ y3 z/ G. w9 S6 a+ s8 U: a( t
return ;7 d6 {/ T5 g2 y8 X' E( ~
}
: O+ p# J) H3 K& S" a1 V for(int i = 0;i< 4;i++) {
8 \! A0 f* `9 t. u" N0 r int tx = x+ne[0];6 f6 u$ I7 g% i' v( k
int ty = y+ne[1];/ {- ^* w K5 E6 V6 N6 R( ]+ b
% T( ?% T) o0 n3 v6 @ if(x> 6||y> 6||x< 1||y< 1||vis[tx][ty]) continue;% X/ t0 q. g: W% c1 J6 K; L4 p
vis[tx][ty] = true;
P( v3 U% K R! d0 |& m dfs(tx,ty,step+1);1 {$ o ?; |2 |- D% g. ~
vis[tx][ty] = false;3 X' f5 p! X3 R# c( L; n% G+ _* R9 O
}
4 ]2 a0 y' S j4 @ return ;" d- q* e, Z, L2 k# c, _
}/ a8 f) b- q( M& f# ?) k: n% w9 O
3 H" X) C9 a9 dint main() {
! I, G, u8 l5 i+ r dfs(1,1,0);
7 W# Y) T& c# K; I cout<<ans<<endl;
6 }: L0 T8 e: z6 Z4 g$ |9 M5 w* }# }5 ^2 b+ C. Y$ {* E
return 0;
! E' _0 |/ u3 r& l! o. B}
' O; p# F A4 H# T' X--------------------- + f! q% V6 W- K) w# _
作者:nka_kun
0 a1 ~0 K8 J, k8 I8 r! G* `3 j: n+ o来源:CSDN
* L+ m7 \/ v/ t5 }" Q
2 ?4 Y* D% C7 g- Z1 @! M- w7 R, o S6 }$ R; E: r
|
zan
|