问题标题: 小蓝书258面的4题

1
0
已解决
被禁言 鲍纪元
鲍纪元
高级守护
高级守护

in:3 3

*??
???

?*?

out:

*10

221

1*1

注意,本品是扫雷

鲍纪元在2018-08-18 13:35:26追加了内容

输出附近一圈的雷数

*=雷

鲍纪元在2018-08-19 15:11:34追加了内容

我的做法:

哪儿错了

#include<iostream>
#include<string>
using namespace std;
int main()
{
	string a[111][111]={0};
	int s=0;
	int m,n;
	cin>>n>>m;
	getline(cin,a);
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			if(a[i+1][j]=='*'||a[i-1][j]=='*'||a[i+1][j+1]=='*'||a[i-1][j-1]=='*'||a[i][j-1]=='*'||a[i][j+1]=='*'||a[i+1][j-1]=='*'||a[i-1][j+1]=='*')
			a[i][j]++;
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			cout<<a[i][j]<<' ';
		}
		cout<<endl;
	}
	return 0;
} 

 


0
已采纳
周俊豪
周俊豪
高级光能
高级光能

字符 a[1000][1000];
    整形 n,m,s=0;
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin>>a[i][j];
        }
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            if(a[i][j]=='*'){
                cout<<"*"<<" ";
                continue;
            }
            if(a[i][j]!='*'){
                if(a[i+1][j]=='*'){
                    s++;
                }
                if(a[i-1][j]=='*'){
                    s++;
                }
                if(a[i][j+1]=='*'){
                    s++;
                }
                if(a[i][j-1]=='*'){
                    s++;
                }
                if(a[i+1][j+1]=='*'){
                    s++;
                }
                if(a[i+1][j-1]=='*'){
                    s++;
                }
                if(a[i-1][j-1]=='*'){
                    s++;
                }
                if(a[i-1][j+1]=='*'){
                    s++;
                }
                cout<<s<<" ";
                s=0;
            }
        }
        cout<<endl;
    }

框架请自己加!

求采纳!

周俊豪在2018-08-19 20:49:55追加了内容

之前发的有点错,

应该把空格去掉;

字符 a[1000][1000];
    整形 n,m,s=0;
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin>>a[i][j];
        }
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            if(a[i][j]=='*'){
                cout<<"*";
                continue;
            }
            if(a[i][j]!='*'){
                if(a[i+1][j]=='*'){
                    s++;
                }
                if(a[i-1][j]=='*'){
                    s++;
                }
                if(a[i][j+1]=='*'){
                    s++;
                }
                if(a[i][j-1]=='*'){
                    s++;
                }
                if(a[i+1][j+1]=='*'){
                    s++;
                }
                if(a[i+1][j-1]=='*'){
                    s++;
                }
                if(a[i-1][j-1]=='*'){
                    s++;
                }
                if(a[i-1][j+1]=='*'){
                    s++;
                }
                cout<<s;
                s=0;
            }
        }
        cout<<endl;
    }

求采纳!谢谢!

0
0
蒋智航
蒋智航
高级天翼
高级天翼

全题?

蒋智航在2018-08-19 12:10:20追加了内容

递归回溯没学就别做这一题了

0
我要回答