Fişierul intrare/ieşire:poligoane.in, poligoane.outSursăTiberiu Popoviciu 2011, Clasa a 10-a
AutorPerticas CatalinAdăugată deperticas_catalinperticas catalin perticas_catalin
Timp execuţie pe test0.125 secLimită de memorie20480 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Poligoane

Mitruţ are N beţe de lungimi egale şi nu prea ştie ce să facă cu ele. Voi îi daţi idea să formeze poligoane convexe din ele, iar el vă întreabă acum în câte feluri le poate grupa. Mitruţ vă sfătuieşte să vă uitaţi la exemplu pentru a înţelege mai bine ce vă cere. 

Cerinţă

Vi se pun T teste la dispoziţie. Pentru fiecare trebuie să afişaţi numărul de moduri în care se pot grupa beţele pentru a forma poligoane convexe regulate modulo un număr dat.

Date de intrare

Fişierul de intrare poligoane.in conţine pe prima linie numărul T. Pe fiecare din următoarele T linii se află câte două numere Ni şi MODi.

Date de ieşire

Fişierul de ieşire poligoane.out conţine T linii. Pe linia i se va afla numărul cerut pentru Ni modulo MODi.

Restricţii

  • 1 ≤ T ≤ 10
  • 3 ≤ Ni ≤ 2 000
  • 1 ≤ MODi ≤ 1 000 000
  • Pentru 20% din teste Ni80
  • Pentru alte 40% din teste Ni1000

Exemplu

poligoane.inpoligoane.out
7
3 7
6 13
4 17
11 23
12 19
13 31
799 666013
1
2
1
6
9
10
29846

Explicaţie

Din 3 beţe se poate forma un singur poligon convex: un triunghi.
Pentru 6 avem două variante: un hexagon sau două triunghiuri.
Din 4 beţe putem forma doar un pătrat.
Pentru 11 beţe avem următoarele variante de grupare:
11, 8 + 3, 7 + 4, 6 + 5, 4 + 4 + 3, 5 + 3 + 3, adică putem forma fie un poligon cu 11 laturi, fie un octogon şi un triunghi, fie un hexagon şi un pentagon etc.

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?

remote content