Cod sursa(job #792868)

Utilizator scipianusFMI Ciprian Olariu scipianus Data 1 octombrie 2012 16:03:52
Problema 1-sir Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<fstream>
#include<cmath>
#define MOD 194767
using namespace std;
int n,S,Smax;
int nr[2][33000],sol;

int main()
{
	int i,j,s1,s2;
	ifstream fin("1-sir.in");
	fin>>n>>S;
	fin.close();
	
	S=(int)abs((double)S);
	Smax=n*(n-1)/2;
	if(S>Smax)
		sol=0;
	else
	{
		nr[0][0]=1;
		for(i=2;i<=n;i++)
		{
			for(j=0;j<=Smax;j++)
			{
				s1=j+(i-1);
				s2=(int)abs((double)(j-(i-1)));
				nr[1][j]=nr[0][s1]+nr[0][s2];
				if(nr[1][j]>=MOD)
					nr[1][j]-=MOD;
			}
			for(j=0;j<=Smax;j++)
				nr[0][j]=nr[1][j];
		}
		sol=nr[0][S];
	}
	
	ofstream fout("1-sir.out");
	fout<<sol<<"\n";
	fout.close();
	return 0;
}