扫雷游戏(c++)

[复制链接] 查看: 2904|回复: 0
等级:
论坛元老
帖子:
664
积分:
16407
威望:
0
金钱:
15743
贡献:
0
精华:
0
注册:
2021-10-31
跳转到指定楼层
楼主
发表于 2022-11-24 11:09:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<bits/stdc++.h>
. i7 L: i' `3 n$ ^& qusing namespace std;' w& M* x: o; g9 m2 F
int a[12][12],b[12][12],m,n,c,f,k,s;6 E, T8 O+ A8 e6 r1 m( A
bool dt[12][12];/ Y3 M3 z6 ]/ F- P% }5 p& A
void gs(){4 B& G6 D' s6 {$ ]9 ^2 }, n! z+ Z7 m
        for(int i=1;i<=10;i++){! _: ?1 K' A+ v+ k5 J9 s8 \
                for(int j=1;j<=10;j++){
& p* m  N* v0 U                        if(b[j]) printf("%3d",a[j]+b[j]*10);
/ T, ^/ {* x1 z/ ^  `; F) f                        else printf("%3d",a[j]);
+ ?2 e) W% q: s1 H! [2 O                }, P4 q4 y" I! ]9 E  V
                printf("\n");
  W3 G- ^+ _) y: R* @6 T        }( J# r( v+ A+ [& R' G# ?( N
}, n3 H/ b) a# t- {1 q2 R
void ks(){( B3 ?7 B/ F- y* v. h4 m
        for(int i=1;i<=10;i++){! L1 o7 E: q+ s* J; q% C. T+ V
                for(int j=1;j<=10;j++){
% r6 R- Z4 q( _; _( M7 @                        if(dt[j]) k++;; G* v! ]- X! U4 w
                        a[j]=9;
9 g# y4 g4 v" A; U6 d( M6 @                }
3 Z/ j; U) o7 z2 M: {' O1 Z        }
  A4 \( c1 _" _+ W) j+ a        printf("%d\n",k);
& ]& D: p! R: s. _; x}
; Z6 Y, {4 h4 a$ o- {5 m0 v3 _3 d, pvoid sjs(){
% }/ R; `+ _1 B, n6 {' h+ L: ~, J        for(int i=1;i<=10;i++){9 K0 r% D: Q( S2 @% k
                for(int j=1;j<=10;j++){7 g, H0 k; T0 B/ M
                        if(dt[j]) printf("%d %d ",i,j);  H3 Y5 p3 f$ K8 H3 D$ J4 K  w% g" L
                        if(b[j]!=2&&dt[j])printf("  hh  ");( h! C5 F5 [- ]
                }% E- |( r( y& q+ F
                printf("\n");
& g4 d" I* u0 u3 l( p  [        }2 G. e( E1 X: y1 s
        printf("SB");
( c/ A8 W5 \4 [; t}" y6 q; g& R9 {; W" r1 s! j
void yjs(){
& ^, X+ U+ s/ f) N. ]9 I1 X  A0 q6 O2 b        for(int i=1;i<=10;i++){4 U% I3 V+ x& ^% q
                for(int j=1;j<=10;j++){" u, B5 `0 L9 r" O  v% b
                        if(dt[j]) printf("%d %d",i,j);
7 ]8 I  T) U+ F6 U0 h                        printf("NB\n");
% V) e' C4 A) U% ^/ A' G                }
  {* a+ L' @/ n1 b) P+ X  l        }
9 ^# C, n8 _: N1 Q}
+ z: w# m7 E' U6 z6 k5 ]7 Tint jc(int s,int x,int y){* }% }  A9 k4 c9 K- J. R
        if(dt[x-1][y-1]) ++s;; \) u  O! ~' K: U0 Q( p
        if(dt[x-1][y+1]) ++s;% `$ e* h& g' U- U' x
        if(dt[x-1][y]) ++s;
1 I6 b1 }+ t" L! v- \0 C        if(dt[x][y-1]) ++s;
( s; P% J$ `2 S1 G2 D7 r9 H        if(dt[x][y+1]) ++s;/ D7 b' r6 ]7 X6 M: ~- T5 E
        if(dt[x+1][y]) ++s;
  |- r) ]8 q+ W. L        if(dt[x+1][y-1]) ++s;
7 _2 y5 {) J$ a5 |2 _: c$ V: E# [        if(dt[x+1][y+1]) ++s;
# \' y& _2 {# s0 `# c9 o4 S+ b8 h8 T7 ?        a[x][y]=s;
( N1 Q' M0 c( g% E        if(s==0){
. ]0 T& J. S$ o# ?5 H* H                if(x-1&&y-1&&x<1&&y<11) jc(s,x-1,y-1);
' S4 r' V& T0 N9 L' o: M                if(x-1&&x<11&&y<10) jc(s,x-1,y+1);
/ A' Y& R3 T; e& U0 y                if(x-1&&y&&x<11&&y<11) jc(s,x-1,y);4 a! @9 y+ @2 w: @! P0 s& C0 O& _
                if(x&&y-1&&x<11&&y<11) jc(s,x,y-1);+ a) [6 R) t7 }4 J9 h/ d- }
                if(x&&x<11&&y<10) jc(s,x,y+1);
9 S4 a" S* X4 |  S2 V  q/ M                if(y&&x<10&&y<11) jc(s,x+1,y);  e% Q) y9 ?+ c2 g
                if(y-1&&x<10&&y<11) jc(s,x+1,y-1);/ Q& U/ |0 Y9 z' W& ^7 s
                if(x<10&&y<10) jc(s,x+1,y+1);8 Q' h& b* r' z. I+ r+ u' w! H
        }5 U$ n" H) y5 [" k4 p7 l' p: x; b3 D
}: D. m2 f' x1 O8 o: s! ^  J( p* m( F
int main(){9 V. ], J. a! B  M- w$ X
        bool ls[12][12];
8 h: {8 n  \1 s! c! c        for(int i=1;i<=10;i++)
$ D7 ~* J3 z9 Z7 a! k! I                for(int j=1;j<=10;j++)
" Y5 T0 M6 B9 p* g                        dt[j]=ls[j];
1 b. K( D/ l% a& ?; ~, G6 i                        ks();1 v+ I8 }! @  E& p3 T/ }7 Y! I
        while(k||f){
; S  N$ q. q: s) I, B' S  G( i                printf("\n\n\n");( t- W" X% `* ^& ]
                gs();/ o, l3 d7 e9 r$ a) E8 I
                scanf("%d%d%d",&m,&n,&c);7 [7 |# u: N, p
                if(dt[m][n]&&c==0){9 d& [8 l* ~7 }3 w3 I
                        sjs();" k- C! V* ^: S0 c; P2 B! s* {
                        return 0;+ _* p5 f* a: k3 k( N5 l) g, o. {
                }: g+ N1 h" e& l0 e) c& B; j
                b[m][n]=c;
- B6 Y* e3 j) W  o% Q% f5 T                if(c==0) a[m][n]=jc(s,m,n);7 [$ c0 o6 i4 Y  X& c6 Y
                if(c==2){- V# ]8 G0 y& @# K  I% P
                        if(dt[m][n]) --k;: c/ q% o7 J+ p) l# O% T
                        else ++f;
" W; y8 C; `0 u3 n                }; u# a; ~& o) `8 W( @# i
        }
5 T- [/ [  J6 f        yjs();
8 @$ f4 u* A/ ?1 G8 S- m; u        return 0;8 k* c1 g9 G3 n/ a: w# ?' @# y
}
8 u# s4 V: q; ?7 |& I+ f/ `+ W/ m0 j1 F
回复

使用道具 举报

| 关于弈城 | 家长监护 | 弈城合作 | 意见投诉 | 客服中心 | 关注弈城 |
Copyright © 2003- eweiqi Co.LTD All Rights Reserved
北京世纪弈城围棋文化传播有限公司 ( 京ICP备08005970号 京ICP证050898号 )
客户服务热线:400-010-5177 文明办网文明上网举报电话:010-82615762 投诉邮箱:help@eweiqi.com
抵制不良游戏 拒绝盗版游戏 注意自我保护 谨防受骗上当 适度游戏益脑 沉迷游戏伤身 合理安排时间 享受健康生活
京网文(2015)2374-465号 京公网安备 11010102000265号

快速回复 返回顶部 返回列表