Contest Uri - Monopolio
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct Jogador{
char *nome;
int saldo;
}p;
int converte(char s[], int qt){
int vOp;
char temp[16];
strcpy(temp, s+qt);
vOp = atoi(temp);
//printf("%d\n", vOp);
return vOp;
}
int vJogador(char s[]){
if(s[2] == 'D'){
return 0;
}
if(s[2] == 'E'){
return 1;
}
if(s[2] == 'F'){
return 2;
}
return -1;
}
int vJogAlu(char s[]){
if(s[4] == 'D'){
return 0;
}
if(s[4] == 'E'){
return 1;
}
if(s[4] == 'F'){
return 2;
}
return -1;
}
int main()
{
int vIni, ciclos, i, vOp;
char op[16];
p pl[3];
pl[0].nome = "D";
pl[1].nome = "E";
pl[2].nome = "F";
//printf("%c", pl[0].nome[0]);
scanf("%d %d", &vIni, &ciclos);
for(i = 0; i < 3; i++)
pl[i].saldo = vIni;
while(ciclos--)
{
scanf("%*c");
scanf("%[^\n]", op);
//scanf("%d", &vOp);
//printf("%s\n", op);
int jog;
if(op[0] == 'C'){
jog = vJogador(op);
//printf("Entro na compra\n");
vOp = converte(op, 4);
pl[jog].saldo -= vOp;
//printf("%d\n", pl[jog].saldo);
}else if(op[0] == 'V'){
jog = vJogador(op);
//printf("Entro na venda\n");
vOp = converte(op, 4);
pl[jog].saldo += vOp;
//printf("%d\n", pl[jog].saldo);
}else if(op[0] == 'A'){
int jogA = vJogAlu(op);
jog = vJogador(op);
//printf("Entro no aluguel\n");
vOp = converte(op, 6);
pl[jog].saldo += vOp;
pl[jogA].saldo -= vOp;
//printf("%d %d", pl[jog].saldo, pl[jogA].saldo);
}
//printf("J1 %d, J2 %d, J3 %d\n", pl[0].saldo, pl[1].saldo, pl[2].saldo);
}
printf("%d %d %d\n", pl[0].saldo, pl[1].saldo, pl[2].saldo);
return 0;
}