求教育。。。大神来。。

#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
int m,n,ans=1;
char pic[101][101],charge[101][101];
int tick(int a,int b,int h){
if(a<1||b<1||a>100||b>100) return 0;
if(!pic[a][b]) return 0;
if(charge[a][b]) return 0;
charge[a][b]=h;
for(int i=-1;i<=1;i++)for(int j=-1;j<=1;j++)
tick(a+i,b+j,h);
tick(a+2,b,h);tick(a-2,b,h);
tick(a,b+2,h);tick(a,b-2,h);
return 1;
}
int turn(){
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(pic[i][j]=='-') pic[i][j]=0;
else pic[i][j]=1;
charge[i][j]=0;
}
}
}
int main(){
scanf("%d %d",&n,&m);
for(int i=1;i<=n;i++) scanf("%s",&pic[i][1]);
turn();
for(int i=1;i<=n;i++)for(int j=1;j<=m;j++) if(tick(i,j,ans)) ans++;
printf("%d",ans-1);
system("pause");
return 0;

}

过了7个点
3个RuntimeError。。。。。。。
这是什么问题啊啊啊

2 条评论

  • @ 2013-12-03 18:00:36

    如需代码高亮,请在代码块首位各添加额外的换行符。

    • @ 2013-12-03 18:31:44

      那啥,我记得加了Tab之后刷新了高亮会消失的。。。

    • @ 2013-12-04 13:17:15

      修正了这个问题嗯

    • @ 2013-12-05 17:34:29

      貌似又有了……

    • @ 2013-12-09 00:44:23

      夜间模式工作良好

  • @ 2013-12-03 16:43:25

    #include<iostream>
    #include<cstdio>
    #include<cstdlib>
    using namespace std;
    int m,n,ans=1;
    char pic[101][101],charge[101][101];
    int tick(int a,int b,int h){
    if(a<1||b<1||a>100||b>100) return 0;
    if(!pic[a][b]) return 0;
    if(charge[a][b]) return 0;
    charge[a][b]=h;
    for(int i=-1;i<=1;i++)for(int j=-1;j<=1;j++)
    tick(a+i,b+j,h);
    tick(a+2,b,h);tick(a-2,b,h);
    tick(a,b+2,h);tick(a,b-2,h);
    return 1;
    }
    int turn(){
    for(int i=1;i<=n;i++){
    for(int j=1;j<=m;j++){
    if(pic[i][j]=='-') pic[i][j]=0;
    else pic[i][j]=1;
    charge[i][j]=0;
    }
    }
    }
    int main(){
    scanf("%d %d",&n,&m);
    for(int i=1;i<=n;i++) scanf("%s",&pic[i][1]);
    turn();
    for(int i=1;i<=n;i++)for(int j=1;j<=m;j++) if(tick(i,j,ans)) ans++;
    printf("%d",ans-1);
    system("pause");
    return 0;

    }

  • 1

信息

ID
1051
难度
4
分类
搜索 | 搜索与剪枝 点击显示
标签
递交数
6196
已通过
2431
通过率
39%
被复制
13
上传者