Sie sind auf Seite 1von 6

Eureni :

#include <fstream>
using namespace std;
ifstream fin ("eureni.in");
ofstream fout ("eureni.out");
long long n,s,e,t[100],nb;
int main()
{
fin>>s>>n>>e;
t[0]=1;
for(int i=1;i<=n;i++)
t[i]=t[i-1]*e;
for(int i=n;i>=0 && s;i--)
{
if(s>=t[i])
{fout<<t[i]<<" "<<s/t[i]<<endl;
nb=nb+s/t[i];
s=s%t[i];
}
}
fout<<nb;
return 0;
}

Bomboane :
#include <fstream>
using namespace std;
ifstream fin ("bomboane.in");
ofstream fout ("bomboane.out");

struct obiect{int S,D,B;} m[1001];


int n,v[1001],Min,Max,M,x,med,s,i,aux;
int main()
{
fin>>n;
for(i=1;i<=n;i++)
{fin>>v[i];
s=s+v[i];
}
if(s%n!=0)
{fout<<"-1";
return 0;
}
med=s/n;
do
{
M++;
//Min && Max
Min=Max=1;
for(i=2;i<=n;i++)
{
if(v[Min]>v[i]) Min=i;
if(v[Max]<v[i]) Max=i;
}
if(v[Min]==v[Max]) break;
//din unul in altul si afisarea
m[M].S=Max;
m[M].D=Min;
aux=v[Max];
x=v[Max]-med;

v[Max]=med;
v[Min]=v[Min]+x;
if(v[Min]>med)
{x=v[Min]-med;
v[Min]=med;
v[Max]=v[Max]+x;
}
m[M].B=aux-v[Max];
} while(1);
M--;
fout<<M<<endl;
for(i=1;i<=M;i++)
fout<<m[i].S<<" "<<m[i].D<<" "<<m[i].B<<endl;
return 0;
}

Rucsac :
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("date.in");
int gmax,n,g[1001],p[1001],aux;
float ai,aj;
int main()
{
cin>>n>>gmax;
for(int i=1;i<=n;i++)
cin>>g[i]>>p[i];
//ordonare lei/kg

for(int i=1;i<=n;i++)
for(int j=i+1;j<=n;j++)
{
ai=(float)p[i]/g[i];
aj=(float)p[j]/g[j];
if(ai<aj)
{
aux=p[i]; p[i]=p[j]; p[j]=aux;
aux=g[i]; g[i]=g[j]; g[j]=aux;
}
}
//alegere
float tot=0;
for(int i=1;i<=n && gmax;i++)
{
if(gmax>=g[i])
{gmax=gmax-g[i];
tot=tot+p[i];
}
else
{
tot=tot+(float)gmax*p[i]/g[i];
gmax=0;
}
}
//afisare
cout<<tot;
return 0;
}

salar greedy :

#include <iostream>
using namespace std;
int t[10]={500,200,100,50,10,5,1},n=7,i,salar,nrmon;
int main()
{ salar=4459;
//ordonare
//alegere
for(i=0;i<n;i++)
// bancnota t[i]
{ if(salar/t[i]>0)
cout<<salar/t[i]<<"*"<<t[i]<<endl;
nrmon=nrmon+salar/t[i];
salar=salar%t[i]; }
cout<<nrmon;
return 0;
}

Bubble sort :
#include<iostream.h>
int v25];
int i, n, ok, aux;

void main()
{
cout<<n=;
cin>>n;
for(i=1;i<=n;i++)
{
cout<<v[<<i<<]=;
cin>>v[i];
}
for(i=1;i<=n;i++)
cout<<v[i]<< ;
//sortarea crescatoare
do{
ok=1;
for(i=1;i<=n-1;i++)
if(v[i]>v[i+1])
{
// interschimbare
aux=v[i];
v[i]=v[i+1];
v[i+1]=aux;
ok=0;
}
}while(ok!=1);
cout<<<<endl;
for(i=1;i<=n;i++)
cout<<v[i]<< ;
}

Das könnte Ihnen auch gefallen