Source code for submission s932

mosquito.cpp

  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5.  
  6. struct Stav
  7. {
  8. int state;
  9. int value;
  10. };
  11.  
  12.  
  13. int main ( int argc, char * argv [] )
  14. {
  15.  
  16. int adult; //adult
  17. int pupa; //pupa
  18. int larva; //larva
  19. int eggs; //number of eggs
  20. int larva_rate; // larva rate
  21. int pupa_rate; // pupa rate
  22. int weeks; //number of weeks
  23. int adult_out; //output adults
  24.  
  25. Stav stav[3];
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32. while ( cin >> adult >> pupa >> larva >> eggs >> larva_rate >> pupa_rate >> weeks )
  33. {
  34.  
  35. stav[0].state = 2;
  36. stav[1].state = 3;
  37. stav[2].state = 4;
  38.  
  39. stav[0].value = larva;
  40. stav[1].value = pupa;
  41. stav[2].value = adult;
  42.  
  43.  
  44. for(int i = 1; i <= weeks; i++)
  45. {
  46.  
  47.  
  48. for(int j = 0; j < 3; j++)
  49. {
  50.  
  51. if(stav[j].state == 2)
  52. {
  53. stav[j].state = 3;
  54. stav[j].value /= larva_rate;
  55. } else
  56. {
  57.  
  58.  
  59. if(stav[j].state == 3)
  60. {
  61. stav[j].state = 4;
  62. stav[j].value /= pupa_rate;
  63. } else
  64. {
  65.  
  66. if(stav[j].state == 4)
  67. {
  68. stav[j].state = 2;
  69. stav[j].value *= eggs;
  70. }
  71.  
  72. }
  73. }
  74.  
  75. }
  76.  
  77. }
  78.  
  79. adult_out = 0;
  80. if(stav[0].state == 4) adult_out += stav[0].value;
  81. if(stav[1].state == 4) adult_out += stav[1].value;
  82. if(stav[2].state == 4) adult_out += stav[2].value;
  83.  
  84. cout << adult_out << endl;
  85. //cout << "Value 0: " << stav[0].value << "; State 0: " << stav[0].state << endl;
  86. //cout << "Value 1: " << stav[1].value << "; State 1: " << stav[1].state<< endl;
  87. //cout << "Value 2: " << stav[2].value << "; State 2: " << stav[2].state<< endl;
  88.  
  89.  
  90.  
  91. }
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98. return 0;
  99. }
  100.