ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#212075 | #3815. 种树 | 18015536804 | 100 | 1ms | 1196kb | C++11 | 720b | 2024-10-13 10:58:52 | 2024-10-13 12:55:46 |
answer
#include <bits/stdc++.h>
using namespace std;
int n,m,k,dir[][2] = {{0,1},{0,-1},{1,0},{-1,0}};
bool vis[16][16];
long long ans;
void dfs(int dep,int cur)
{
if(dep == k)
{
ans++;
return;
}
for(int i = 1;i <= n;i++)
{
for(int j = 1;j <= m;j++)
{
if(vis[i][j] || i * m - m + j <= cur)
continue;
bool isok = 1;
for(int t = 0;t < 4;t++)
{
int tx = i + dir[t][0],ty = j + dir[t][1];
if(tx >= 1 && tx <= n && ty >= 1 && ty <= m && vis[tx][ty])
isok = 0;
}
if(isok)
{
vis[i][j] = true;
dfs(dep + 1,i * m - m + j);
vis[i][j] = false;
}
}
}
}
int main()
{
cin >> n >> m >> k;
dfs(0,0);
cout << ans;
return 0;
}
Details
小提示:点击横条可展开更详细的信息
Test #1:
score: 10
Accepted
time: 0ms
memory: 1196kb
input:
2 2 1
output:
4
result:
ok 1 number(s): "4"
Test #2:
score: 10
Accepted
time: 1ms
memory: 1192kb
input:
2 3 2
output:
8
result:
ok 1 number(s): "8"
Test #3:
score: 10
Accepted
time: 0ms
memory: 1192kb
input:
4 4 2
output:
96
result:
ok 1 number(s): "96"
Test #4:
score: 10
Accepted
time: 0ms
memory: 1192kb
input:
4 4 5
output:
304
result:
ok 1 number(s): "304"
Test #5:
score: 10
Accepted
time: 0ms
memory: 1192kb
input:
3 4 3
output:
84
result:
ok 1 number(s): "84"
Test #6:
score: 10
Accepted
time: 0ms
memory: 1192kb
input:
3 5 2
output:
83
result:
ok 1 number(s): "83"
Test #7:
score: 10
Accepted
time: 0ms
memory: 1192kb
input:
3 5 3
output:
215
result:
ok 1 number(s): "215"
Test #8:
score: 10
Accepted
time: 0ms
memory: 1196kb
input:
3 5 4
output:
276
result:
ok 1 number(s): "276"
Test #9:
score: 10
Accepted
time: 0ms
memory: 1192kb
input:
3 5 5
output:
174
result:
ok 1 number(s): "174"
Test #10:
score: 10
Accepted
time: 0ms
memory: 1196kb
input:
4 3 5
output:
18
result:
ok 1 number(s): "18"
Extra Test:
score: 0
Extra Test Passed