2014年蓝桥杯c语言试题及答案
{
if (bad(i, j) || count < num[i][j])
return;
k++;
if (count == num[i][j])
{
if (r > k)
r = k;
}
tag[i][j] = 1;
count -= num[i][j];
go(i - 1, j, k, count);
go(i + 1, j, k, count);
go(i, j - 1, k, count);
go(i, j + 1, k, count);
tag[i][j] = 0;
}
int main()
{
scanf("%d %d", &m, &n);
int i, j;
int half = 0;
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
{
scanf("%d", &num[i][j]);
half += num[i][j];
}
if (half % 2 == 0 && half >= num[0][0] * 2)
{
half /= 2;
go(0, 0, 0, half);
}
if (r == 100)
r = 0;
printf("%d", r);
return 0;
}
【2014年蓝桥杯c语言试题及答案】相关文章: