Advertisement
Guest User

Untitled

a guest
Dec 14th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.04 KB | None | 0 0
  1. #include<iostream>
  2. #include<cmath>
  3.  
  4. using namespace std;
  5.  
  6. /*double P(int i, int j) //funkcja obilczaj¹ca
  7. {
  8.     double dana=(30-sqrt((30-i)^2+(30-j)^2));
  9.     //double dana=i*j;
  10.     //cout<<"P: "<<dana<<endl;
  11.     return dana;
  12. }*/
  13.  
  14. int main()
  15. {
  16.     int n;
  17.     int m;
  18.     cin>>n;
  19.     cin>>m;
  20.  
  21.     int i_p=0; //zmienne dotyczace zakresow
  22.     int i_k=n-1 ;
  23.     int j_p=0;
  24.     int j_k=m-1;
  25.  
  26.     int i_wybrane; //zmienne dotyczace punktow
  27.     int j_wybrane;
  28.     double war_wybrany;
  29.  
  30.     int i_sasiad;
  31.     int j_sasiad;
  32.     double war_sasiad;
  33.  
  34.     int kolumna;
  35.     double buf;
  36.  
  37.     //for(int i=0; i<m*n; ++i) //funkcja dziala dopuki nie znajdzie odpowiedzi
  38.     while(true)
  39.     {
  40.         war_wybrany=0;
  41.         kolumna=(i_p+i_k)/2; //obliczanie kolumny
  42.  
  43.         i_wybrane=kolumna; //wybieranie dowolnego punktu na kolumnie
  44.         j_wybrane=j_p;
  45.  
  46.         if(n!=1)
  47.         {
  48.             for(int k=j_p; k<=j_k; ++k)
  49.             {
  50.                 buf=P(kolumna, k);
  51.  
  52.                 if(k>j_p && k<j_k && P(kolumna, k+1)<=buf && P(kolumna, k-1)<=buf)
  53.                 {
  54.                     war_wybrany=buf;
  55.                     j_wybrane=k;
  56.                 }
  57.                 else if(k==j_p && P(kolumna, k+1)<=buf)
  58.                 {
  59.                     war_wybrany=buf;
  60.                     j_wybrane=k;
  61.                 }
  62.                 else if(k==j_k && P(kolumna, k-1)<=buf)
  63.                 {
  64.                     war_wybrany=buf;
  65.                     j_wybrane=k;
  66.                 }
  67.  
  68.                 /*if(buf>=war_wybrany)
  69.                 {
  70.                     war_wybrany=buf;
  71.                     j_wybrane=k;
  72.                 }*/
  73.             }
  74.         }
  75.  
  76.         war_sasiad=war_wybrany;
  77.         i_sasiad=i_wybrane;
  78.         j_sasiad=j_wybrane;
  79.  
  80.         if(i_wybrane+1<=n-1)
  81.         {
  82.             buf=P(i_wybrane+1, j_wybrane);
  83.             if(buf>war_sasiad)
  84.             {
  85.                 if(i_wybrane+1<=i_k)
  86.                 {
  87.                     i_p=i_wybrane+1;
  88.                     continue;
  89.                 }
  90.                 else
  91.                 {
  92.                     i_k=i_wybrane+1;
  93.                     i_p=i_wybrane+1;
  94.                 }
  95.  
  96.             }
  97.         }
  98.         if(i_p==i_k)
  99.         {
  100.             war_wybrany=0;
  101.             for(int k=j_p; k<=j_k; ++k)
  102.             {
  103.                 buf=P(kolumna, k);
  104.                 if(buf>=war_wybrany)
  105.                 {
  106.                     war_wybrany=buf;
  107.                     j_wybrane=k;
  108.                 }
  109.             }
  110.             break;
  111.         }
  112.  
  113.         if(i_wybrane-1>=0)
  114.         {
  115.             buf=P(i_wybrane-1, j_wybrane);
  116.             if(buf>war_sasiad)
  117.             {
  118.                 if(i_wybrane-1>=i_p)
  119.                 {
  120.                     i_k=i_wybrane-1;
  121.                     continue;
  122.                 }
  123.                 else
  124.                 {
  125.                     i_k=i_wybrane+1;
  126.                     i_p=i_wybrane+1;
  127.                 }
  128.             }
  129.         }
  130.             break;
  131.     }
  132.  
  133.     cout<<(int)war_wybrany;;
  134.  
  135.     return 0;
  136. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement