滴滴出行2017春招算法工程师笔试题b卷岛屿问题
我的代码如下,本地能通过,但上传后通过率0%,希望大神给指出错误。
#include<iostream>
#define N 10
#define M 10
using namespace std;
int a[N][M];
int main(){
int n, m;
cin >> n >> m;
int i, j;
for(i=0; i<n; ++i){//输入
for(j=0; j<m; ++j){
int x;
//cin >> x;
scanf("%1d", &x);
a[i][j] = x;
}
fflush(stdin);
}
/*
for(i = 0; i < n; i++){
for(j = 0; j < m; j++){
int x; scanf("%d",&x);
a[i][j]= x;
}
}
*/
for(i=0; i<n; ++i){//横向
for(j=m-1; j>0; --j){
if(a[i][j] == 1){
if(a[i][j-1] == 1)
a[i][j] = 0;
}
}
}
for(j=0; j<m; ++j){//纵向
for(i=n-1; i>0; --i){
if(a[i][j] == 1){
if(a[i-1][j] == 1)
a[i][j] = 0;
}
}
}
int sum = 0;//求和
for(i=0; i<n; ++i)
for(j=0; j<m; ++j)
if(a[i][j] == 1)
++sum;
cout << sum << endl;
/*调试用
for(i=0; i<n; ++i){
for(j=0; j<m; ++j){
cout << a[i][j] << ' ';
}
cout << endl;
}
*/
return 0;
}


查看7道真题和解析