Cod sursa(job #6970)

Utilizator victor_u_roVictor Ungureanu victor_u_ro Data 21 ianuarie 2007 11:16:25
Problema 1-sir Scor 0
Compilator cpp Status done
Runda preONI 2007, Runda 1, Clasele 11-12 Marime 0.78 kb
#include <stdio.h>

#define P 194767

int n, s;
long long r;

void cit() {
	freopen("1-sir.in", "rt", stdin);

	scanf("%d %d", &n, &s);

	fclose(stdin);
}

long long f(int s, int n) {
	int ss;

	s -= n;
	if (s < 0)
		s = -s;
	ss = n * (n - 1) / 2;
	if (s > ss)
		return 0;
	if (s == ss)
		return 1;
	if (s == 0)
		return (2 * (f(s, n - 1) % P)) % P;
	return f(s, n - 1) % P;
}

void rez()
{
	int ss;

	if (s < 0)
		s = -s;
	ss = n * (n - 1) / 2;
	if (s > ss)
		r = 0;
	else
	if (s == ss)
		r = 1;
	else
	if (s == 0)
		r = (2 * (f(s, n - 1) % P)) % P;
	else
		r = (f(s, n - 1) % P);
}

void afis() {
	freopen("1-sir.out", "wt", stdout);

	printf("%lld\n", r);

	fclose(stdout);
}

int main() {
	cit();
	rez();
	afis();

	return 0;
}