NOIP2015 扫雷游戏

 

TM 

 

#include<bits/stdc++.h>
using namespace std;
char c[110][110];
int main(){
    int n,m; cin>>n>>m;
    for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)cin>>c[i][j];
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++)
            if(c[i][j]=='*')cout<<'*';
            else{
                int k=0;
                if(c[i-1][j]=='*')k++;
                if(c[i+1][j]=='*')k++;
                if(c[i][j-1]=='*')k++;
                if(c[i][j+1]=='*')k++;
                if(c[i+1][j+1]=='*')k++;
                if(c[i+1][j-1]=='*')k++;
                if(c[i-1][j+1]=='*')k++;
                if(c[i-1][j-1]=='*')k++;
                cout<<k;
            }
        cout<<endl;
    }
    return 0;
}

  

 

#include<bits/stdc++.h>
using namespace std;
char c[110][110];
int CNT(int x,int y){
    int X=0;
    for(int i=x-1;i<=x+1;i++)
        for(int j=y-1;j<=y+1;j++)
            if(c[i][j]=='*')X++;
    return X;
}
int main(){
    int n,m;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)scanf("%s",c[i]+1);
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++)
            if(c[i][j]=='?')printf("%d",CNT(i,j));
            else putchar('*');
        puts("");
    }
    return 0;
}

  

 

#include<bits/stdc++.h>
using namespace std;
char c[110][110];
int x[110][110];
int main(){
    int n,m;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)scanf("%s",c[i]+1);
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            if(c[i][j]=='?')
                x[i][j]=(int)(c[i+1][j]=='*')+(c[i-1][j]=='*')+(c[i][j+1]=='*')+(c[i][j-1]=='*')
                   +(c[i+1][j+1]=='*')+(c[i+1][j-1]=='*')+(c[i-1][j+1]=='*')+(c[i-1][j-1]=='*');
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++)
            if(c[i][j]=='?')printf("%d",x[i][j]);
            else putchar('*');
        puts("");
    }
    return 0;
}

  

posted @ 2016-10-22 22:28  qilinart  阅读(1004)  评论(0编辑  收藏  举报