#!/usr/bin/perl
# your code goes here
my $output=1; #0 - vivodit tolko resultat, 1 - vivodit' podrobnosti i resultat
my $count=10; # skol'ko raz delat' vibor
my $answer=1; # 0 - ne menyaem vibor, 1- menyaem vibor, 2 - menyaem randomom


srand(time());

#ispolzuem hash dlya naglyadnosti
my %init_doors=(
          'red' =>0,
          'green' =>0,
          'blue' =>0
          );


my @variants=('red','green','blue');

my $success=0;
my $failed=0;

for (my $i=0;$i<$count;$i++)
{

 my $target=$variants[int rand(3)];#zagadivaem
 if ($output)
 {
  print "Zagadali: $target\n";
 };


 my $test=$variants[int rand(3)];#popitka ugadat

 if ($output)
 {
  print "Popitka: $test\n";
 };

 my %temp_doors=%init_doors;

 my $add_variant="";
 my @result_array=(); # tut budem hranit spisok posle otbrasivaniya vedushchim lishnego varianta

 if ($target eq $test)    #esli zagadannoye sovpalo s vibrannim
  {
    delete($temp_doors{$target}); #udalyaem zagadannoye
    my $temp=0;
    my @temp_array=();
    foreach my $key (keys %temp_doors)    #pomeshchaem v massiv ostavsheesya
                                          #dva znacheniya chto bi po indeksu randomom vibrat'
    {
     $temp_array[$temp]=$key;
     $temp++;
    };

    $add_variant=$temp_array[int rand(2)]; #vibiraem kakoy neverniy variant ostavit'  (verniy to uge uagadan)
    $result_array[0]=$test;
    $result_array[1]=$add_variant;
  }
 else  #esli zagadannoye vedushchim ne sovpalo s vibrannim igrayushchim, togda dobavlyaem zagadannoye k vibrannomu
  {
    $result_array[0]=$test;
    $result_array[1]=$target;
  };
 if ($output)
 {
  print "Vtoroy shans - vibor iz: ".join(',',@result_array)."\n"; #vivodim vse chto ostalos' posle otbrasivaniya
 };

 if ($answer == 0) #esli ne menyaem vibor
 {
  if ($output)
  {
   print "Ne menyaem vibor\n";
  };
  if ($test eq $target)
   {
    if ($output)
    {
     print "Resultat: Ugadali\n";
    };
    $success++;
   }
   else
   {
    if ($output)
    {
     print "Resultat: Ne ugadali\n";
    };
    $failed++;
   };
 }
 elsif ($answer ==1) # esli menyaem vibor
  {
   if ($output)
   {
    print "Menyaem vibor s $test на $result_array[1]\n";
   };
   $test=$result_array[1]; # v $result_array[0] - vsegda vibraniy varian, poetome dlyz smeni vibore berem $result_array[1]

   if ($test eq $target)
   {
    if ($output)
    {
     print "Resultat: Ugadali\n";
    };
    $success++;
   }
   else
   {
    if ($output)
    {
     print "Resultat: Ne ugadali\n";
    };
    $failed++;
   };
  }
 elsif ($answer==2) #vibiraem randomom vtoroy raz
 {
   $test=$result_array[int rand(2)];
   if ($output)
   {
    print "Delaem vibor snova randomom, vibrali $test\n";
   };
   if ($test eq $target)
   {
    if ($output)
    {
     print "Resultat: Ugadali\n";
    };
    $success++;
   }
   else
   {
    if ($output)
    {
     print "Resultat: Ne ugadali\n";
    };
    $failed++;
   };


 };
 if ($output)
 {
  print "\n=========================================================\n";
  };
};

print "\nVsego: $count\n";
print "Ugadano: $success\n";
print "Ne ugadano: $failed\n";
