Cod sursa(job #1248565)

Utilizator MarcvsHdrMihai Leonte MarcvsHdr Data 25 octombrie 2014 15:30:07
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <iostream>
#include <fstream>

#define MAXN 256
#define MAXS (MAXN * (MAXN - 1) / 2)
#define ABS(a) ((a) < 0 ? (-(a)) : (a))
#define MODULO 194767

int c[MAXN + 1][MAXS + MAXN + 1];

int main()
{
  std::ifstream in("1-sir.in");
  std::ofstream out("1-sir.out");

  int n, s;
  in >> n >> s;

  c[1][0] = 1;
  for (int i = 2; i <= n; ++i) {
    for (int sum = 0; sum <= i * (i - 1) / 2; ++sum) {
      c[i][sum] =
          (c[i - 1][ABS(sum - (i - 1))] + c[i - 1][ABS(sum + (i - 1))]) %
          MODULO;
    }
  }

  out << c[n][ABS(s)] << std::endl;

  in.close();
  out.close();

  return 0;
}