Cod sursa(job #1722249)

Utilizator TincaMateiTinca Matei TincaMatei Data 27 iunie 2016 18:21:25
Problema Numerele lui Stirling Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <cstdio>
#define MAX_NM 200
#define MODULO 98999

int st1[1+MAX_NM][1+MAX_NM], st2[1+MAX_NM][1+MAX_NM];

int main() {
  int sp ,n, m, t, i;

  st1[1][1] = st2[1][1] = 1;
  for(n = 2; n <= MAX_NM; n++)
    for(m = 1; m <= MAX_NM; m++) {
      st1[n][m] = (st1[n - 1][m - 1] - (n - 1) * st1[n - 1][m]) % MODULO;
      st2[n][m] = (st2[n - 1][m - 1] + m * st2[n - 1][m]) % MODULO;
    }

  FILE *fin = fopen("stirling.in", "r");
  fscanf(fin, "%d", &t);
  FILE *fout = fopen("stirling.out", "w");
  for(i = 0; i < t; i++) {
    fscanf(fin, "%d%d%d", &sp, &n, &m);
    if(sp == 1)
      fprintf(fout, "%d\n", st1[n][m]);
    else
      fprintf(fout, "%d\n", st2[n][m]);
  }
  fclose(fin);
  fclose(fout);
  return 0;
}