Holnapra házi, valaki help? PLSPLS Backtrackingnél van.
Egy programozói versenyen több első, második és harmadik díjat osztanak ki. Ezeknek a száma x, y, z. A szponzoroktól kapott értéktárgyak mind különböző értékűek. A bizottság az x + y + z nyertesnek m darab értéki (i = 1, 2, ..., m) értékű tárgyat fog kiosztani, úgy hogy a díjak értéke csökkenő sorozatot alkot. Egy versenyző több tárgyat is kaphat. Az első díjak értéke legyen azonos, ugyanúgy a második díjak értéke, valamint a harmadik díjaké. Írjuk ki minden lehetséges módját annak, ahogy az m tárgy szétosztható a fenti követelményeknek megfelelően. Minden tárgyat át kell adni. Ha nem lehet tiszteletben tartani a díjkiosztás szabályait, írjunk megfelelő üzenetet. A bemenet első sora a kiosztandó tárgyak száma, ezt követi a tárgyak értékének a listája. A kimenet a példának megfelelően nézzen ki.
Példa
Bemenet
7
2 2 1
5 8 3 7 12 1 9
Kimenet
1 díjak: 12, 9+3
2 díjak: 8, 7+1
3 díj: 5
A strukturája így kell kinézzen:
#include <iostream>
#include <fstream>
using namespace std;
const int hossz = 20;
int m,I,II,III;
int dij[hossz];
int hasznalt[hossz];
void be()
{
ifstream f("be.txt");
f>>m;
f>>I;
f>>II;
f>>III;
for(int i=0;i<m;i++)
{
f>>dij[i];
}
}
bool helyes(int i)
{
for(int j=0;j<m;j++)
{
if(!hasznalt[j])
{
}
}
}
void eloszt(int j)
{
for(int i=j,i<m;i++)
{
dij[i]=j;
hasznalt[i]=1;
if(helyes(i))
{
if()
{
kiir();
}
}
hasznalt[i]=0;
}
}
int main()
{
be();
return 0;
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!