UOJ Logo

NOI.AC

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#211957#3815. 种树OS_AC1000ms1216kbC++690b2024-10-13 09:09:062024-10-13 12:53:17

answer

#include<bits/stdc++.h>
using namespace std;
void cleancin_n(){
	cin.ignore(numeric_limits<streamsize>::max(),'\n');
}
int a[1001][1001];
int n,m,k;
int cnt=0;
bool check(int ke){
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			if(a[i][j]==1 && (a[i][j+1]==1 || a[i][j-1]==1 || a[i-1][j]==1 || a[i+1][j]==1)){
				return false;
			}
		}
	}
	return true && ke==k;
}
void dfs(int x,int y,int ke){
	if(ke>k){
		return;
	}
	if(x==n && y==m+1){
		if(check(ke)){
			cnt++;
		}
		return;
	}
	if(y==m+1){
		y=1;
		x++;
	}
	a[x][y]=0;
	dfs(x,y+1,ke);
	a[x][y]=1;
	dfs(x,y+1,ke+1);
}
signed main(){
	cin>>n>>m>>k;
	dfs(1,1,0);
	cout<<cnt;
return 0;
}


详细

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

Test #1:

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

input:

2 2 1

output:

4

result:

ok 1 number(s): "4"

Test #2:

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

input:

2 3 2

output:

8

result:

ok 1 number(s): "8"

Test #3:

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

input:

4 4 2

output:

96

result:

ok 1 number(s): "96"

Test #4:

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

input:

4 4 5

output:

304

result:

ok 1 number(s): "304"

Test #5:

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

input:

3 4 3

output:

84

result:

ok 1 number(s): "84"

Test #6:

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

input:

3 5 2

output:

83

result:

ok 1 number(s): "83"

Test #7:

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

input:

3 5 3

output:

215

result:

ok 1 number(s): "215"

Test #8:

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

input:

3 5 4

output:

276

result:

ok 1 number(s): "276"

Test #9:

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

input:

3 5 5

output:

174

result:

ok 1 number(s): "174"

Test #10:

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

input:

4 3 5

output:

18

result:

ok 1 number(s): "18"

Extra Test:

score: 0
Extra Test Passed