Pagini recente » Cod sursa (job #984916) | Cod sursa (job #2846970) | Autentificare | Cod sursa (job #859069) | Cod sursa (job #655514)
Cod sursa(job #655514)
#include <fstream>
using namespace std;
const char InFile[]="1-sir.in";
const char OutFile[]="1-sir.out";
const int MaxN=256;
const int MaxS=((MaxN*(MaxN+1))>>1);
const int MOD=194767;
ifstream fin(InFile);
ofstream fout(OutFile);
int N,S,MS,buffer1[MaxS],buffer2[MaxS];
int *line1=buffer1,*line2=buffer2;
int main()
{
fin>>N>>S;
fin.close();
S=abs(S);
int MS=((N*(N-1))>>1);
if(S>MS)
{
fout<<"0";
}
else
{
line1[0]=1;
for(register int i=2;i<=N;++i)
{
for(register int j=0;j<=MS;++j)
{
line2[j]=line1[abs(j-i+1)]+line1[j+i-1];
if(line2[j]>MOD)
{
line2[j]-=MOD;
}
}
swap(line1,line2);
}
fout<<line1[S];
}
fout.close();
return 0;
}