Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

实在找不到错啊 我在自己电脑上试了好几次都可以通过的 求帮忙检查

Posted by 201578 at 2017-03-20 16:44:40 on Problem 2386
#include <iostream>
#include <algorithm>
#define maxn 1000
using namespace std;
int solve(int n,int m,int a[maxn][maxn]){
    
    if(n==1){
        if(m==1)
            return a[n-1][m-1];
        if(a[n-1][m-1]){
            if(a[n-1][m-2])
                return solve(n,m-1,a);
            else
                return solve(n,m-1,a)+1;
        }
        else
            return solve(n,m-1,a);
    }
    else{
        int add=0;
        for(int j=0;j<m;j++){
            if(a[n-1][j]){
                if(j>0&&a[n-2][j-1]||a[n-2][j]||j<m-1&&a[n-2][j+1]||j>0&&a[n-1][j-1])
                    continue;
                else
                    add++;
                
            }
        }
        return solve(n-1,m,a)+add;
    }
}
int main(){
    int n,m;
    cin>>n>>m;
    int a[maxn][maxn];
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            char t;
            cin>>t;
            if(t=='W'||t=='w')
                a[i][j]=1;
            else
                a[i][j]=0;
            
        }
    }
    cout<<solve(n,m,a);
    return 0;
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator