Cod sursa(job #461699)

Utilizator nandoLicker Nandor nando Data 8 iunie 2010 11:03:23
Problema Numerele lui Stirling Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <cstdio>
#include <cstdlib>
using namespace std;

#define NMAX 201
#define MOD 98999

FILE* fin = fopen("stirling.in","r");
FILE* fout = fopen("stirling.out","w");

int s[NMAX][NMAX],S[NMAX][NMAX];

int main(){

	s[0][0] = S[0][0] = 1;

	for(int n = 1; n < NMAX; ++n){
		for(int m = 1;m < n; ++m){
			s[n][m] = (s[n - 1][m - 1] - (n - 1) * s[n - 1][m])%MOD;
			S[n][m] = (S[n - 1][m - 1] + m * S[n-1][m])%MOD;
		}
		s[n][n] = S[n][n] = 1;
	}

	int t,op,n,m;
	for(fscanf(fin,"%d\n",&t); t; --t){
		fscanf(fin,"%d %d %d\n",&op,&n,&m);

		fprintf(fout,"%d\n",(op == 1)?s[n][m]:S[n][m]);
	}

	fclose(fin);
	fclose(fout);
	return EXIT_SUCCESS;
}