- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 569158 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 175970
- 相册
- 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组决赛题解第五题
. k( n3 B% y1 \在一个5*5的方格上走边界点,其实也就是6*6的图,从左上角开始走,不走重复点且在12步之内走回左上角点,问方案数) Z. B" R5 }: T5 @* s B$ J
直接dfs,需要减掉 (0,0)->(1,0)->(0,0)和(0,0)->(0,1)->(0,0),这两个路线都重合了2 G3 x4 A: _; o
结果: 208-2=206
& W6 L, Q. Z+ d6 u) N* d+ S, m代码:8 `# L4 @& o3 V* {5 g. ^* R5 ]3 y
#include<bits/stdc++.h>
; `+ j/ v5 T% l; O1 ?#define mem(a,b) memset(a,b,sizeof(a))
" X+ u- U* S! E# f: Cusing namespace std;
& Z7 d/ R+ j& q. {2 \- vtypedef long long ll;& y/ k) ?3 H& h" \' S2 W
const int inf = 0x3f3f3f3f;" @' T! E$ r2 \& a( }- m% }
const int maxn = 3e5+55555;3 G. Y0 E* O1 e9 N( U4 x& }
const ll mod = 998244353;4 n4 Z; V4 {8 ^2 F' \; I+ p
const double eps = 1e-7;8 e! G2 H, M- C
{# N5 p3 F; D: O% b; p+ d$ \bool vis[10][10];+ j* F# K- x ^' m
int ne[4][2] = {1,0,-1,0,0,1,0,-1};
. X0 V) {1 o iint ans;' u* k$ I6 V; y# b1 g; c+ n4 D! W
+ f: G8 M/ x( a& Z
void output() {8 B0 q" L* Z c, R
for(int i = 1;i<= 6;i++) {
/ j9 w$ n, j1 E6 D9 l" K: Z1 J for(int j = 1;j<= 6;j++) {
+ w5 f; z( O' @4 _; ]9 }& E& c cout<<vis[j]<<' ';
8 ^. D, i6 c: g1 d6 |# ~/ q }- A. R3 x. o% s' s) M. H) u
cout<<endl;
: u. \! q* f4 E; T }0 y0 y! \/ o5 K
cout<<endl<<endl;) I5 Y9 o! m3 W5 F, {
}, e8 Y' A, q0 |2 k8 R0 r& [
( T, e3 ~, N/ _# [/ f5 h; z6 bvoid dfs(int x,int y,int step) {) F) a6 i6 M7 `/ ]
if(step> 6) {1 K( m' e% L4 _. f" e( x
return ;& @+ x6 c$ X* N7 B# v! D
}+ s% ]1 _5 @! w) d# \6 ?& A% n* M8 Y
if(x == 1&&y == 1&&vis[1][1] == true) {$ {7 J% B ^1 |
ans++;: l# r) W, m: ?7 e4 c
output();
7 W. W% X5 j4 @ E return ;
/ P* x# ~+ y6 D: O }
. \3 Y6 M; c0 J/ g( W for(int i = 0;i< 4;i++) {
0 |5 f7 g% s% N1 v( F* c int tx = x+ne[0];
& y, F: I: R7 q- X# Z, V int ty = y+ne[1];
M! L! _# q8 S! s+ W3 R9 T9 }5 z( B! v
if(x> 6||y> 6||x< 1||y< 1||vis[tx][ty]) continue; H3 y/ p1 r0 m5 X; U$ Y1 n
vis[tx][ty] = true;' V/ R7 Y% m4 B, N. G5 F- Y+ A
dfs(tx,ty,step+1);1 T9 ?+ l( q+ n3 `
vis[tx][ty] = false;( m! \6 ^ t0 l& ~
}
& q0 R f7 L( Y) E, ? return ;
# d- A1 n' m! F5 O}
' p4 D Y7 G# n9 P/ \7 ^. `: m" w( O/ @/ T
int main() {+ K- \1 G5 y) P1 z" v3 F# w% ^
dfs(1,1,0);9 G) ^( v/ _1 A: w3 R0 \
cout<<ans<<endl;; C7 ]; P+ c# u7 I$ U+ `2 C Y* V
% J5 B3 d) S. u# i return 0;
& I- u# o1 A3 Y) |1 ~ g}+ [ J6 A) \6 p6 y2 j
---------------------
# ^/ z. p& H/ f7 u3 N' w$ {作者:nka_kun 2 ^" E; d* ~* p3 ]% c
来源:CSDN 0 e, _* s% t/ W0 C
7 E2 H' h7 m2 m1 {
$ D( N: @, j' e* ] |
zan
|