ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#212013 | #3815. 种树 | KianXie | 100 | 1ms | 1204kb | C++ | 644b | 2024-10-13 10:10:05 | 2024-10-13 12:54:52 |
answer
#include<bits/stdc++.h>
using namespace std;
int cnt,n,m,b;
bool a[100][312];
bool ck()
{
int r=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
if(a[i][j]==1)
{
r++;
if(a[i-1][j]==1||a[i+1][j]==1||a[i][j-1]==1||a[i][j+1]==1)
return false;
}
return r==b;
}
void dfs(int x,int y,int k)
{
if(x==n&&y==m)
{
a[x][y]=1;
if(ck())cnt++;
a[x][y]=0;
if(ck())cnt++;
return;
}
int nxtx=x,nxty=y+1;
if(nxty>m){nxty=1,nxtx++;}
//放
a[x][y]=1;
dfs(nxtx,nxty,k+1);
//不放
a[x][y]=0;
dfs(nxtx,nxty,k);
}
int main()
{
cin>>n>>m>>b;
dfs(1,1,b);
cout<<cnt;
return 0;
}
详细
小提示:点击横条可展开更详细的信息
Test #1:
score: 10
Accepted
time: 0ms
memory: 1200kb
input:
2 2 1
output:
4
result:
ok 1 number(s): "4"
Test #2:
score: 10
Accepted
time: 0ms
memory: 1204kb
input:
2 3 2
output:
8
result:
ok 1 number(s): "8"
Test #3:
score: 10
Accepted
time: 0ms
memory: 1204kb
input:
4 4 2
output:
96
result:
ok 1 number(s): "96"
Test #4:
score: 10
Accepted
time: 0ms
memory: 1200kb
input:
4 4 5
output:
304
result:
ok 1 number(s): "304"
Test #5:
score: 10
Accepted
time: 0ms
memory: 1204kb
input:
3 4 3
output:
84
result:
ok 1 number(s): "84"
Test #6:
score: 10
Accepted
time: 1ms
memory: 1200kb
input:
3 5 2
output:
83
result:
ok 1 number(s): "83"
Test #7:
score: 10
Accepted
time: 0ms
memory: 1200kb
input:
3 5 3
output:
215
result:
ok 1 number(s): "215"
Test #8:
score: 10
Accepted
time: 0ms
memory: 1200kb
input:
3 5 4
output:
276
result:
ok 1 number(s): "276"
Test #9:
score: 10
Accepted
time: 0ms
memory: 1200kb
input:
3 5 5
output:
174
result:
ok 1 number(s): "174"
Test #10:
score: 10
Accepted
time: 0ms
memory: 1200kb
input:
4 3 5
output:
18
result:
ok 1 number(s): "18"
Extra Test:
score: 0
Extra Test Passed