Submission #308440

#TimeUsernameProblemLanguageResultExecution timeMemory
308440dekanycsabaCounting Mushrooms (IOI20_mushrooms)C++14
25 / 100
131 ms672 KiB
#include "mushrooms.h"
#include<vector>
#include<iostream>;
using namespace std;
int aszam=0;
int bszam=0;
int eredeti=0;
vector<int> A;
vector<int> B;
int count_mushrooms(int n) {
	std::vector<int> m;
	int c1,c2;
	A.push_back(0);
	aszam++;
	if(n==2)
    {
        m={0,1};
        c1=use_machine(m);
        if(c1==0)
        {
           aszam=2;
        }
        else{
            aszam=1;
        }
    }
    else{
            m.push_back(0);
       m.push_back(0);
      for(int i=1;i<=2;i++)
       {
           m[1]=i;
           c1=use_machine(m);
           if(c1==0)
           {
              A.push_back(i);
              aszam++;
           }
           else{
            B.push_back(i);
            bszam++;
           }
       }
       m.clear();
    int tartunk=2;
    if(aszam>bszam)
    {
         m.push_back(A[0]);
           m.push_back(0);
           m.push_back(A[1]);
           m.push_back(0);
           while(tartunk<=n-1)
           {
               tartunk++;
               if(tartunk==n-1)
               {
                   m.clear();
                   m.push_back(A[0]);
                   m.push_back(tartunk);
                   m.push_back(A[1]);
                   c1=use_machine(m);
                   if(c1>0)
                   {
                       B.push_back(tartunk);
                       bszam++;
                   }
                   else{
                    A.push_back(tartunk);
                    aszam++;
                   }
                   m.clear();
                   break;
               }
               else if(tartunk<n-1){
                   m[1]=tartunk;
                   tartunk++;
                   m[3]=tartunk;
                   c1=use_machine(m);
                   if(c1==0)
                   {
                       aszam++;
                       aszam++;
                       A.push_back(tartunk-1);
                       A.push_back(tartunk);
                   }
                   else if(c1==1)
                   {
                       aszam++;
                       bszam++;
                       A.push_back(tartunk-1);
                       B.push_back(tartunk);
                   }
                   else if(c1==2)
                   {
                       aszam++;
                       bszam++;
                       B.push_back(tartunk-1);
                       A.push_back(tartunk);
                   }
                   else{
                    bszam++;
                    bszam++;
                    B.push_back(tartunk-1);
                    B.push_back(tartunk);
                   }
               }
           }
    }
    else{
        m.push_back(B[0]);
           m.push_back(0);
           m.push_back(B[1]);
           m.push_back(0);
           while(tartunk<=n-1)
           {
               tartunk++;
               if(tartunk==n-1)
               {
                   m.clear();
                   m.push_back(B[0]);
                   m.push_back(tartunk);
                   m.push_back(B[1]);
                   c1=use_machine(m);
                   if(c1>0)
                   {
                       A.push_back(tartunk);
                       aszam++;
                   }
                   else{
                    B.push_back(tartunk);
                    bszam++;
                   }
                   break;
               }
               else if(tartunk<n-1){
                   m[1]=tartunk;
                   tartunk++;
                   m[3]=tartunk;
                   c1=use_machine(m);
                   if(c1==0)
                   {
                       bszam++;
                       bszam++;
                       B.push_back(tartunk-1);
                       B.push_back(tartunk);
                   }
                   else if(c1==1)
                   {
                       aszam++;
                       bszam++;
                       B.push_back(tartunk-1);
                       A.push_back(tartunk);
                   }
                   else if(c1==2)
                   {
                       aszam++;
                       bszam++;
                       A.push_back(tartunk-1);
                       B.push_back(tartunk);
                   }
                   else{
                    aszam++;
                    aszam++;
                    A.push_back(tartunk-1);
                    A.push_back(tartunk);
                   }
               }
           }
    }

       /*m.push_back(0);
       m.push_back(0);
      for(int i=1;i<=2;i++)
       {
           m[1]=i;
           c1=use_machine(m);
           if(c1==0)
           {
              A.push_back(i);
              aszam++;
           }
           else{
            B.push_back(i);
            bszam++;
           }
       }
       m.clear();
    int tartunk=2;
       if(aszam>bszam)
       {
           m.push_back(A[0]);
           m.push_back(0);
           m.push_back(A[1]);
           m.push_back(0);
           while(tartunk<=n-1 && tartunk<=200)
           {
               tartunk++;
               if(tartunk==n-1 && tartunk<=200)
               {
                   m.clear();
                   m.push_back(A[0]);
                   m.push_back(tartunk);
                   m.push_back(A[1]);
                   c1=use_machine(m);
                   if(c1>0)
                   {
                       B.push_back(tartunk);
                       bszam++;
                   }
                   else{
                    A.push_back(tartunk);
                    aszam++;
                   }
                   m.clear();
                   break;
               }
               else if(tartunk<n-1 && tartunk<=200){
                   m[1]=tartunk;
                   tartunk++;
                   m[3]=tartunk;
                   c1=use_machine(m);
                   if(c1==0)
                   {
                       aszam++;
                       aszam++;
                       A.push_back(tartunk-1);
                       A.push_back(tartunk);
                   }
                   else if(c1==1)
                   {
                       aszam++;
                       bszam++;
                       A.push_back(tartunk-1);
                       B.push_back(tartunk);
                   }
                   else if(c1==2)
                   {
                       aszam++;
                       bszam++;
                       B.push_back(tartunk-1);
                       A.push_back(tartunk);
                   }
                   else{
                    bszam++;
                    bszam++;
                    B.push_back(tartunk-1);
                    B.push_back(tartunk);
                   }
               }
           }
       }
       else{
           m.push_back(B[0]);
           m.push_back(0);
           m.push_back(B[1]);
           m.push_back(0);
           while(tartunk<=n-1 && tartunk<=200)
           {
               tartunk++;
               if(tartunk==n-1 && tartunk<=200)
               {
                   m.clear();
                   m.push_back(B[0]);
                   m.push_back(tartunk);
                   m.push_back(B[1]);
                   c1=use_machine(m);
                   if(c1>0)
                   {
                       A.push_back(tartunk);
                       aszam++;
                   }
                   else{
                    B.push_back(tartunk);
                    bszam++;
                   }
                   break;
               }
               else if(tartunk<n-1 && tartunk<=200){
                   m[1]=tartunk;
                   tartunk++;
                   m[3]=tartunk;
                   c1=use_machine(m);
                   if(c1==0)
                   {
                       bszam++;
                       bszam++;
                       B.push_back(tartunk-1);
                       B.push_back(tartunk);
                   }
                   else if(c1==1)
                   {
                       aszam++;
                       bszam++;
                       B.push_back(tartunk-1);
                       A.push_back(tartunk);
                   }
                   else if(c1==2)
                   {
                       aszam++;
                       bszam++;
                       A.push_back(tartunk-1);
                       B.push_back(tartunk);
                   }
                   else{
                    aszam++;
                    aszam++;
                    A.push_back(tartunk-1);
                    A.push_back(tartunk);
                   }
               }
           }
       }
       m.clear();
       tartunk=200;
       if(tartunk+1<n)
       {
           if(aszam>bszam)
           {
               eredeti=aszam;
               for(int i=0;i<aszam;i++)
               {
                   m.push_back(A[i]);
                   m.push_back(0);
               }
               while(tartunk!=n-1)
               {
                   c2=tartunk;
                   if(n-1-c2<=eredeti)
                   {
                       m.clear();
                       for(int i=0;i<n-1-c2;i++)
                       {
                           m.push_back(A[i]);
                           tartunk++;
                           m.push_back(tartunk);
                       }
                       c1=use_machine(m);
                       if(c1%2==1)
                       {
                         bszam=bszam+1+(c1-1)/2;
                         aszam=n-1-1-c2-(c1-1)/2;
                       }
                       else{
                        bszam=bszam+c1/2;
                        aszam=n-1-c2-c1/2;
                       }
                       break;
                   }
                   else{
                        for(int i=0;i<eredeti;i++)
                       {
                           tartunk++;
                           m[2*i+1]=tartunk;
                       }
                       c1=use_machine(m);
                       if(c1%2==1)
                       {
                         bszam=bszam+1+(c1-1)/2;
                         aszam=eredeti-1-(c1-1)/2;
                       }
                       else{
                        bszam=bszam+c1/2;
                        aszam=eredeti-c1/2;
                       }
                   }
               }
           }
           else{
                eredeti=bszam;
               for(int i=0;i<bszam;i++)
               {
                   m.push_back(B[i]);
                   m.push_back(0);
               }
               while(tartunk!=n-1)
               {
                   c2=tartunk;
                   if(n-1-c2<=eredeti)
                   {
                       m.clear();
                       for(int i=0;i<n-1-c2;i++)
                       {
                           m.push_back(B[i]);
                           tartunk++;
                           m.push_back(tartunk);
                       }
                       c1=use_machine(m);
                       if(c1%2==1)
                       {
                         aszam=aszam+1+(c1-1)/2;
                         bszam=n-1-1-c2-(c1-1)/2;
                       }
                       else{
                        aszam=aszam+c1/2;
                        bszam=n-1-c2-c1/2;
                       }
                       break;
                   }
                   else{
                        for(int i=0;i<eredeti;i++)
                       {
                           tartunk++;
                           m[2*i+1]=tartunk;
                       }
                       c1=use_machine(m);
                       if(c1%2==1)
                       {
                         aszam=aszam+1+(c1-1)/2;
                         bszam=eredeti-1-(c1-1)/2;
                       }
                       else{
                        aszam=aszam+c1/2;
                        bszam=eredeti-c1/2;
                       }
                   }
               }
           }
       }
    */}
	return aszam;
}

Compilation message (stderr)

mushrooms.cpp:3:19: warning: extra tokens at end of #include directive
    3 | #include<iostream>;
      |                   ^
mushrooms.cpp: In function 'int count_mushrooms(int)':
mushrooms.cpp:12:9: warning: unused variable 'c2' [-Wunused-variable]
   12 |  int c1,c2;
      |         ^~
#Verdict Execution timeMemoryGrader output
Fetching results...