Pagini recente » Cod sursa (job #2317190) | Cod sursa (job #859449) | Cod sursa (job #1757661) | Cod sursa (job #2264676) | Cod sursa (job #960241)
Cod sursa(job #960241)
#include <fstream>
using namespace std;
int s[5001],ok,k,n,p,c=0;
int valid(int k)
{
for(int i=1;i<k;i++)
if(s[i]==s[k])
return 0;
if(k>=p)
if( (s[k] + s[k-1] + s[k-3]) % p != 0)
return 0;
return 1;
}
int main()
{
ifstream f("kperm.in");
ofstream g("kperm.out");
f>>n>>p;
k=1;
s[k]=0;
while(k>0)
{
ok=0;
while(s[k]<n&&!ok)
{
s[k]++;
ok=valid(k);
}
if(ok)
if(k==n)
c++;
else
{
k++;
s[k]=0;
}
else k--;
}
g<<c;
return 0;
}