Problema valutar (am luat doar 20/50 la prima cerinta) (pb.info.ro). As avea nevoie sa stiu ce este gresit la prima cerinta. Dau 100 de puncte cel care gaseste greseala.
Acesta este codul meu:
#include
using namespace std;
ifstream cin("valutar.in");
ofstream cout("valutar.out");
struct jocvalutar
{
int ldpe;
int lppe;
int lj;
int ej;
int cj;
int pozj;
}v[10005];
long long c,nr0,a,b,n,m,l,e,x,cop,k,i,nr,j,ok=1,mx=-1,mx2;
char cod[10005];
int main()
{cin>>c;
cin>>a>>b>>nr0;
cin>>n>>m>>l>>e>>x;
for (i=1; i<=n; i++)
{
cin>>cod[i]>>v[i].ldpe>>v[i].lppe;
}
for (i=1; i<=m; i++)
{
v[i].lj=l;
v[i].ej=e;
v[i].pozj=1;
v[i].cj=0;
}
cop=m;
for (i=1; i<=x; i++)
{
nr++;
if (nr>m) nr=1;
nr0=(a*nr0+b)%n+1;
v[nr].pozj+=nr0;
if (v[nr].pozj>n) v[nr].pozj=v[nr].pozj%n;
if (cod[v[nr].pozj]=='R') v[nr].cj++;
if (cod[v[nr].pozj]=='G')
{
if (v[nr].lj-v[nr].pozj*v[v[nr].pozj].ldpe>=0) {v[nr].lj=v[nr].lj-v[nr].pozj*v[v[nr].pozj].ldpe; v[nr].ej+=v[nr].pozj;}
else if (v[nr].lj-v[nr].pozj*v[v[nr].pozj].ldpe<0&&v[nr].cj==0) {cop--;}
else if (v[nr].lj-v[nr].pozj*v[v[nr].pozj].ldpe<0&&v[nr].cj>0) v[nr].cj--;
}
if (cod[v[nr].pozj]=='V')
{
if (v[nr].ej-v[nr].pozj>=0) {v[nr].ej=v[nr].ej-v[nr].pozj; v[nr].lj=v[nr].lj+v[nr].pozj*v[v[nr].pozj].lppe;}
else if (v[nr].ej-v[nr].pozj<0&&v[nr].cj==0) {cop--;}
else if (v[nr].ej-v[nr].pozj<0&&v[nr].cj>0) v[nr].cj--;
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.