社区讨论

求详解,不懂

P2670[NOIP 2015 普及组] 扫雷游戏参与者 2已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@m430dcn5
此快照首次捕获于
2024/11/30 01:19
去年
此快照最后确认于
2025/11/04 13:38
4 个月前
查看原帖
有没有大佬愿意看看; 为什么将
CPP
tmp=0
放入else中就是90,而放入for中就是ac; 90代码{
CPP
#include <bits/stdc++.h>
using namespace std;
int m,n,tmp;   

int main(void){
    cin>>n>>m;char a[n+1][m+1];
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            cin>>a[i][j];
        }
    }
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            if(a[i][j]=='*')cout <<'*';
            else {
                tmp=0;
                if(a[i-1][j-1]=='*')tmp++;
                if(a[i-1][j]=='*')tmp++;
                if(a[i-1][j+1]=='*')tmp++;
                if(a[i][j-1]=='*')tmp++;
                if(a[i][j+1]=='*')tmp++;
                if(a[i+1][j-1]=='*')tmp++;
                if(a[i+1][j]=='*')tmp++;
                if(a[i+1][j+1]=='*')tmp++;
                cout <<tmp;
            }
        }
        cout<<endl;
    }
    return 0;
}
} ac代码:
CPP
#include <bits/stdc++.h>
using namespace std;
int m,n,tmp;   

int main(void){
    cin>>n>>m;char a[n+1][m+1];
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            cin>>a[i][j];
        }
    }
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            tmp=0;
            if(a[i][j]=='*')cout <<'*';
            else {
                if(a[i-1][j-1]=='*')tmp++;
                if(a[i-1][j]=='*')tmp++;
                if(a[i-1][j+1]=='*')tmp++;
                if(a[i][j-1]=='*')tmp++;
                if(a[i][j+1]=='*')tmp++;
                if(a[i+1][j-1]=='*')tmp++;
                if(a[i+1][j]=='*')tmp++;
                if(a[i+1][j+1]=='*')tmp++;
                cout <<tmp;
            }
        }
        cout<<endl;
    }
    return 0;
}

回复

3 条回复,欢迎继续交流。

正在加载回复...