Skip to content

Instantly share code, notes, and snippets.

@rogerioagjr
Created September 2, 2016 02:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rogerioagjr/0c28bec2f03f1fed96fb1f29786f1979 to your computer and use it in GitHub Desktop.
Save rogerioagjr/0c28bec2f03f1fed96fb1f29786f1979 to your computer and use it in GitHub Desktop.
Fuga com helicóptero - F2PJ - OBI 2016
// Fuga com helicóptero - F2PJ - OBI 2016
// Rogério Júnior
// Complexidade: O(1)
#include "iostream"
using namespace std;
int main(){
// declaro e leio os valores de h, p, f, d;
int h, p, f, d;
cin >> h >> p >> f >> d;
// se a direção for anti-horária
if(d==1){
// para cada posição em que o fugitivo passar,
// começando de f e aumentando a posição
for(int i=f;;i++){
// se tiver dado a volta completa
if(i==16){
// na vedade, estou na primeira posição
i=0;
}
// se tiver encontrado o policial
if(i==p){
// imprimo 'N' e termino o loop
cout << "N\n";
break;
}
// se tiver encontrado a helicóptero
if(i==h){
// imprimo 'S' e termino o loop
cout << "S\n";
break;
}
}
}
// se a direção for horária
if(d==-1){
// para cada posição em que o fugitivo passar,
// começando de f e aumentando a posição
for(int i=f;;i--){
// se tiver dado a volta completa
if(i==-1){
//na verdade, estou na última posição
i=15;
}
// se tiver encontrado o policial
if(i==p){
// imprimo 'N' e termino o loop
cout << "N\n";
break;
}
// se tiver encontrado a helicóptero
if(i==h){
// imprimo 'S' e termino o loop
cout << "S\n";
break;
}
}
}
// por fim, retorno zero
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment