Pagini recente » Cod sursa (job #5432) | Cod sursa (job #348110) | Cod sursa (job #1529277) | Cod sursa (job #2323171) | Cod sursa (job #25203)
Cod sursa(job #25203)
#include <fstream>
#define MAX 5001
using namespace std;
int n, k1, x[MAX], s[MAX], p, j, ok, sum, cnt;
void Back(int k);
int main()
{
ifstream fin("kperm.in");
fin >> n >> k1;
fin.close();
Back(1);
ofstream fout("kperm.out");
fout << cnt%666013;
fout.close();
return 0;
}
void Back(int k)
{
for (int i = 1; i <= n; i++)
{
x[k] = i;
if (!s[i])
{
if (k == n)
{
ok = 1;
for (j = 1; j <= n-k1+1; j++)
{
sum = 0;
for (p = j; p <= j+k1-1; p++)
sum += x[p];
if (sum % k1 != 0) ok = 0;
}
if (ok) cnt++;
}
else
{
s[i] = 1;
Back(k+1);
s[i] = 0;
}
}
}
}