Cod sursa(job #694432)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 27 februarie 2012 21:02:18
Problema Numerele lui Stirling Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include<stdio.h>

FILE*f=fopen("stirling.in","r");
FILE*g=fopen("stirling.out","w");

const int maxn = 201;
const int mod = 98999;

int s[maxn][maxn],S[maxn][maxn];

inline void compute () {
	
	s[0][0] = S[0][0] = 1;
	for ( int i = 1 ; i < maxn ; ++i ){
		for ( int j = 1 ; j <= i ; ++j ){
			s[i][j] = (s[i-1][j-1] - (i-1)*s[i-1][j]) % mod;
			S[i][j] = (S[i-1][j-1] + j*S[i-1][j]) % mod;
		}
	}
}

inline void solve () {
	
	int q;
	fscanf(f,"%d",&q);
	
	int speta,x,y;
	for ( int i = 1 ; i <= q ; ++i ){
		fscanf(f,"%d %d %d",&speta,&x,&y);
		
		if ( speta == 1 ){
			fprintf(g,"%d\n",s[x][y]);
		}
		else{
			fprintf(g,"%d\n",S[x][y]);
		}
	}
}

int main () {
	
	compute();
	solve();
	
	fclose(f);
	fclose(g);
	
	return 0;
}