Facebook
From ja, 7 Years ago, written in C++.
This paste is a reply to cos from ja - view diff
Embed
Download Paste or View Raw
Hits: 383
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <ctime>
  4.  
  5. using namespace std;
  6.  
  7.  
  8. // N - liczba wagoników
  9. // M - minimalna liczba kolejek
  10. // K - maks ilość błedów w kolejce
  11. // pierwszy warunek: (N/M)=x r[] - zasięg maksymalny
  12. // drugi warunek: x*M-(x-1) - minimalna liczba plusów na ilość kolejek o zasięgu x
  13.  
  14. int main()
  15. {
  16.     srand(time(NULL));
  17.     int N;
  18.     int M;
  19.     int K;
  20.     int x;
  21.     cin>>N;
  22.     cin>>M;
  23.     cin>>K;
  24.     x=(N/M);
  25.     string prod[N];
  26.     int licznik=0;
  27.     int tab[N-1];
  28.     for(int i=0; i<N; i++)
  29.     {
  30.         int los=rand()%100;
  31.         //cout<<los%2<<endl;
  32.         if(los%2==0) prod[i]="+";
  33.         else prod[i]="-";
  34.         //cout<<prod[i];
  35.     }
  36.     //cout<<x<<endl;
  37.     for(int i=0; i<N; i++)
  38.     {
  39.         if(prod[i]=="+") licznik++;
  40.     }
  41.     do
  42.     {
  43.         if(x*M-(x-1)<licznik) x--;
  44.         if(x-K==0) break;
  45.         //cout<<x<<endl;
  46.         for(int i=0; i<(N-1); i++)
  47.         {
  48.             int licznik=0;
  49.             for(int j=(N-2)-i; j>(N-2)-i-x; j--)
  50.             {
  51.                 if(j<0) break;
  52.                 if(prod[j]=="+") licznik++;
  53.             }
  54.             //cout<<licznik<<":"<<K<<" ";
  55.             if(licznik==x-K||licznik>x-K) tab[i]=1;
  56.             else tab[i]=0;
  57.             //cout<<"test"<<endl;
  58.         }
  59.         //cout<<endl;
  60.         int maks=0;
  61.         for(int i=0; i<(N-1); i++)
  62.         {
  63.             //cout<<tab[i]<<" ";
  64.         }
  65.         //cout<<endl;
  66.         for(int i=1; i<(N-1); i=i+x-1)
  67.         {
  68.             if(tab[i-1]==1&&tab[i]==1) tab[i-1]=0;
  69.         }
  70.         for(int i=0; i<(N-1); i++)
  71.         {
  72.             //cout<<tab[i]<<" ";
  73.         }
  74.         for(int i=0; i<(N-1); i++)
  75.         {
  76.             if(tab[i]==1) maks++;
  77.         }
  78.         //cout<<maks;
  79.         if(maks==M||maks>M)
  80.         {
  81.             cout<<maks;
  82.             break;
  83.         }
  84.         else
  85.         {
  86.             cout<<0;
  87.             break;
  88.         }
  89.     } while (x>1);
  90.     return 0;
  91. }

Replies to Re: cos rss

Title Name Language When
Re: Re: cos ja cpp 7 Years ago.
captcha