Pagini recente » Cod sursa (job #679974) | Cod sursa (job #171859) | Cod sursa (job #2066729) | Cod sursa (job #2023636) | Cod sursa (job #553921)
Cod sursa(job #553921)
#include <iostream.h>
#include <fstream.h>
int n, m, k, i, v[1000], s = 0, j, h;
bool ok;
int back(int i)
{
for(j = i; j < n; j ++)
{
ok = true;
if(i + 1 <= n)
for(h = 0; h < m; h ++)
if(v[h] == i + 1)
ok = false;
else
if(v[h] > i + 1)
break;
if(ok)
back(i + 1);
ok = true;
if(i + k <= n)
for(h = 0; h < m; h ++)
if(v[h] == i + k)
ok = false;
else
if(v[h] > i + k)
break;
if(ok)
back(i + k);
}
if(j == n)
s ++;
return 0;
}
int main ()
{
ifstream f ("pod.in");
ofstream g ("pod.out");
f >> n >> m >> k;
for (i = 0; i < m; i ++)
f >> v[i];
back(0);
g << s;
f.close ();
g.close ();
}