Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

dark_wolk

Questao da OBI

Recommended Posts

e aew galera, to tentando resolver algumas questoes da obi, e to empacado na das armadilhas

 

Link:

==>> http://olimpiada.ic.unicamp.br/pratique/pr...vel1/armadilhas

 

meu código:

 

#include<iostream>

using namespace std;

int main()
{
	int j,q,t1,t2,t3,d1,d2,s,cont = 1,njog = 0;
	cin>>j>>q;
	int jogadores[j];	
	while(j != q && j <= 10 && q >= 3 && j != 0 && q != 0)
	{  
		  for(int i = 0;i < j;i++)
			jogadores[i] = 0;  
		  
		  cin>>t1>>t2>>t3;   
		  while(jogadores[njog] < q){
			if(njog < q){
			   if(njog == q) 
				 njog = 0;						   
			   else{
				 cin>>d1>>d2;
				 s = d1 + d2;
				 jogadores[njog] += s;
				 njog++;
			   }
			}	  
		  }   
		  
		  cout<<"Teste "<<cont<<"\n"<<njog<<"\n\n";
		  cont++;
		  cin>>j>>q;									
	}
}

eu consigo perceber o erro, mas naum consigo resolve-lo, num sei pq, vai ver

eh pq eu passei mto tempo na frente do pc e do papel...

 

enfim, se alguem souber me ajude aew

 

flws

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vê se isso te ajuda:

 

#include <iostream>
using namespace std;
int main() {

int numero_jogadores, numero_quadrados_trilha;
cin >> numero_jogadores >> numero_quadrados_trilha;
if (numero_jogadores == 0 && numero_quadrados_trilha == 0) return 0;

if (numero_jogadores < 1 || numero_jogadores > 10) return 1;

if (numero_quadrados_trilha < 3 || numero_quadrados_trilha > 10000) return 1;

int armadilhas[3];
int i;
for(i=0;i < 3;i++)
	cin >> armadilhas[i];


int passos[numero_jogadores];
for(i=0;i<numero_jogadores;i++)
	passos[i] = 0;

bool VENCEU = false;
int vez = 1;
int espera_turno[3];
for(i=0;i<3;i++)
	espera_turno[i] = 0;
int dado1, dado2;
do {
	cin >> dado1 >> dado2;
	passos[vez-1]+=dado1+dado2;

	for(i=0;i<3 && passos[vez-1]!=armadilhas[i];i++);

	if (i < 3) espera_turno[vez-1] = 1;

	if (passos[vez-1] > numero_quadrados_trilha)
		VENCEU = true;
	else {
		vez++;

		if(vez > numero_jogadores) vez = 1;
		if (espera_turno[vez-1]) {
			espera_turno[vez-1] = 0;
			vez++;
		}
		if(vez > numero_jogadores) vez = 1;
	}

} while (!VENCEU);

cout << "Vencedor: " << vez << endl;

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.