Descripción
Suponga que una pila de n monedas que consta de 1 punto, 2 puntos y 5 puntos tiene un valor nominal total de m puntos, y descubra cuántas combinaciones posibles hay (el número de monedas de un cierto valor nominal puede ser 0).
Entrada
La primera línea de los datos de entrada tiene un número entero positivo T, lo que indica que hay T conjuntos de datos de prueba; la
siguiente línea T, cada línea tiene dos números n, m, ny m tienen el mismo significado que el anterior.
Salida
Para cada conjunto de datos de prueba, envíe el número de combinaciones posibles;
cada conjunto de salida ocupa una línea.
Entrada de muestra
2 3 5 4 8
Salida de muestra
1 2
#include <iostream>
using namespace std;
int main()
{
int n, m;
int t;
int top, bottom;
cin >> t;
while (t--){
cin >> n >> m;
if (m>5*n || m<n)
cout << "0" << endl;
else{
top = n * 5;
bottom = 0;
if ((m-n)/4<top)
top = (m-n) / 4;
if ((m-n*2) >= 3)
bottom = (m-n*2+2) / 3;
cout << top-bottom+1 << endl;
}
}
return 0;
}