Pagini recente » Diferente pentru home intre reviziile 822 si 821 | Istoria paginii utilizator/maria_mereucz | Monitorul de evaluare | Diferente pentru utilizator/raica_cristi intre reviziile 30 si 15 | Diferente pentru metoda-greedy-si-problema-fractionara-a-rucsacului intre reviziile 4 si 3
Nu exista diferente intre titluri.
Diferente intre continut:
h2. Restrictii
* n <= 100
* spectacolele sunt numerotate de la 1 la n
h2. Exemplu
O implementare intuitiva a acestui algoritm va fi prezentata in continuare. Pentru sortat vom folosi metoda BubbleSort, care este indeajuns de buna pentru limitele impuse de problema.
== code(cpp) |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("spectacole.in");
ofstream g("spectacole.out");
int n,inceput[100],sfarsit[100],nr[100];
void citeste()
{
int ora,min,i;
f>>n;
for (i=0;i<n;++i)
{
nr[i]=i+1;
f>>ora>>min;
inceput[i]=ora*60+min;
f>>ora>>min;
sfarsit[i]=ora*60+min;
}
f.close();
}
void sorteaza()
{
int aux,schimb,i;
do
{
schimb=0;
for (i=0;i<n-1;++i)
if (sfarsit[nr[i]]>sfarsit[nr[i+1]])
{
aux=nr[i];
nr[i]=nr[i+1];
nr[i+1]=aux;
schimb=1;
}
}
while (schimb);
}
void rezolva()
{
int ultim,i;
for (ultim=0,i=1;i<n;++i)
if (inceput[nr[i]]>=sfarsit[nr[ultim]])
{
g<<nr[i]+1<<" ";
ultim=i;
}
g<<endl;
}
int main()
{
citeste();
sorteaza();
rezolva();
return 0;
}
==
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.