197192025-12-19 19:00:56KristófTáblajátékcpp17Elfogadva 50/502ms508 KiB
#include <iostream>
#include <bitset>
#include <string>
using namespace std;
void add1(bitset<501> &num)
    {
    int i=0;
    while(num[i]){num.flip(i);i++;}
    num.flip(i);
    }
void d1(bitset<501> &num)
    {
    int i=0;
    while(!num[i]){num.flip(i);i++;}
    num.flip(i);
    }
int main()
{
    int n;
    cin>>n;
    bitset<501> num(1);
    int operation;
    for(int i=0;i<n;i++)
        {
        cin>>operation;
        if(operation==0)
            {
            num<<=1;
            }
        else if(operation==1)
            {
            num<<=1;
            num.set(0);
            }
        else if(operation==2)
            {
            num>>=1;
            }
        else if(operation==3)
            {
            d1(num);
            }
        else if(operation==4)
            {
            add1(num);
            }
        //cout<<num<<endl<<endl;
        }
    string ans="";
    for(int i=num.size()-1;i>-1;i--)
        {
        if(num[i]==1)
            {
            cout<<i<<endl;
            i--;
            while(i > -1&&num[i]==0 )i--;
            //cout<<"a";
            for(;i>-1;i--)
                {
                ans+=to_string(num[i]);
                //cout<<to_string(num[i])<<endl;
                }
            }
        }
    //cout<<" aaa";
    if(!ans.size())
        {
        cout<<0;
        }
    else
        cout<<ans;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms504 KiB
2Elfogadva0/01ms508 KiB
3Elfogadva3/31ms316 KiB
4Elfogadva3/31ms316 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva3/31ms316 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva3/31ms316 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva3/31ms316 KiB
11Elfogadva3/31ms316 KiB
12Elfogadva3/31ms316 KiB
13Elfogadva4/42ms316 KiB
14Elfogadva4/41ms316 KiB
15Elfogadva4/41ms316 KiB
16Elfogadva4/41ms316 KiB
17Elfogadva4/41ms316 KiB