Cod sursa(job #1483723)

Utilizator hrazvanHarsan Razvan hrazvan Data 9 septembrie 2015 20:10:01
Problema Numerele lui Stirling Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.74 kb
#include <stdio.h>
#define MAXN 200
#define MOD 98999
int s[MAXN + 1][MAXN + 1], S[MAXN + 1][MAXN + 1];

inline void precalc(){
  s[1][1] = 1;
  S[1][1] = 1;
  int i, j;
  for(i = 2; i <= MAXN; i++){
    for(j = 1; j <= MAXN; 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;
    }
  }
}

int main(){
  precalc();
  FILE *in = fopen("stirling.in", "r");
  FILE *out = fopen("stirling.out", "w");
  int t, tip, x, y;
  fscanf(in, "%d", &t);
  for(; t > 0; t--){
    fscanf(in, "%d%d%d", &tip, &x, &y);
    if(tip == 1)
      fprintf(out, "%d\n", s[x][y]);
    else
      fprintf(out, "%d\n", S[x][y]);
  }
  fclose(in);
  fclose(out);
  return 0;
}