UOJ Logo

NOI.AC

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#211951#3815. 种树Panjunnan1000ms1252kbC++1013b2024-10-13 09:04:252024-10-13 12:52:53

answer

#include <iostream>
#include <vector>
using namespace std;
int n,m,k; 
vector<vector<int> > aaa; 
int fangfa =0; 
bool pd(int row, int col) {
    if (row > 0 && aaa[row - 1][col] ==1) return false; 
    if (row < n - 1 && aaa[row + 1][col] ==1) return false; 
    if (col > 0 && aaa[row][col - 1] == 1) return false; 
    if (col < m - 1 && aaa[row][col + 1] ==1) return false; 
    return true;
}

void ccc(int placedTrees, int startRow, int startCol) {
    if (placedTrees ==k) {
        fangfa++; 
        return;
    }
    
    for (int i = startRow; i<n; ++i) {
        for (int j = (i == startRow ? startCol : 0); j<m; ++j) {
            if (aaa[i][j]==0 && pd(i,j)) {
                aaa[i][j]=1;
                ccc(placedTrees+1,i,j); 
                aaa[i][j]=0;
            }
        }
        startCol = 0; 
    }
}
int main() {
    cin>>n>>m>>k;
    aaa=vector<vector<int> >(n,vector<int>(m, 0)); 
    
    ccc(0, 0, 0); 
    cout<<fangfa<<endl;
    return 0;
}

Details

小提示:点击横条可展开更详细的信息

Test #1:

score: 10
Accepted
time: 0ms
memory: 1252kb

input:

2 2 1

output:

4

result:

ok 1 number(s): "4"

Test #2:

score: 10
Accepted
time: 0ms
memory: 1252kb

input:

2 3 2

output:

8

result:

ok 1 number(s): "8"

Test #3:

score: 10
Accepted
time: 0ms
memory: 1252kb

input:

4 4 2

output:

96

result:

ok 1 number(s): "96"

Test #4:

score: 10
Accepted
time: 0ms
memory: 1252kb

input:

4 4 5

output:

304

result:

ok 1 number(s): "304"

Test #5:

score: 10
Accepted
time: 0ms
memory: 1248kb

input:

3 4 3

output:

84

result:

ok 1 number(s): "84"

Test #6:

score: 10
Accepted
time: 0ms
memory: 1248kb

input:

3 5 2

output:

83

result:

ok 1 number(s): "83"

Test #7:

score: 10
Accepted
time: 0ms
memory: 1248kb

input:

3 5 3

output:

215

result:

ok 1 number(s): "215"

Test #8:

score: 10
Accepted
time: 0ms
memory: 1248kb

input:

3 5 4

output:

276

result:

ok 1 number(s): "276"

Test #9:

score: 10
Accepted
time: 0ms
memory: 1248kb

input:

3 5 5

output:

174

result:

ok 1 number(s): "174"

Test #10:

score: 10
Accepted
time: 0ms
memory: 1252kb

input:

4 3 5

output:

18

result:

ok 1 number(s): "18"

Extra Test:

score: 0
Extra Test Passed