76622024-01-10 11:04:48ananászTáblajátékcsharpHibás válasz 18/5035ms24568 KiB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace tabla
{
    class Program
    {
        static void Main(string[] args)
        {
            int K = int.Parse(Console.ReadLine());
            string[] lepesek = Console.ReadLine().Split();
            List<int> sorozat = new List<int>();
            sorozat.Add(0);
            for (int i = 0; i < K; i++)
            {
                if (lepesek[i] == "0")
                {
                    sorozat.Add(0);
                }
                else if (lepesek[i] == "1")
                {
                    sorozat.Add(1);
                }
                else if (lepesek[i] == "2")
                {
                    sorozat.RemoveAt(sorozat.Count - 1);
                }
                else if (lepesek[i] == "3")
                {
                    if (sorozat[sorozat.Count - 1] == 1)
                    {
                        sorozat[sorozat.Count - 1] = 0;
                    }
                    else
                    {
                        int id = sorozat.Count - 1;
                        while (!(sorozat[id] == 0 && sorozat[id - 1] == 1))
                        {
                            id--;
                        }
                        sorozat[id - 1] = 0;
                        while (id < sorozat.Count)
                        {
                            sorozat[id] = 1;
                            id++;
                        }
                    }
                }
                else if (lepesek[i] == "4")
                {
                    if (sorozat[sorozat.Count - 1] == 0)
                    {
                        sorozat[sorozat.Count - 1] = 1;
                    }
                    else
                    {
                        int id = sorozat.Count - 1;
                        while (!(sorozat[id] == 1 && sorozat[id - 1] == 0))
                        {
                            id--;
                        }
                        sorozat[id - 1] = 1;
                        while (id < sorozat.Count)
                        {
                            sorozat[id] = 0;
                            id++;
                        }
                    }
                }
            }
            int cv = 0;
            while (cv < sorozat.Count && sorozat[cv] == 0)
            {
                cv++;
            }
            Console.WriteLine(sorozat.Count - cv);
            if (sorozat.Count - cv == 0)
            {
                Console.WriteLine(0);
            }
            else
            {
                for (int i = cv; i < sorozat.Count; i++)
                {
                    Console.Write(sorozat[i]);
                }
                Console.WriteLine();
            }
            Console.ReadKey();
        }
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base18/50
1Elfogadva0/028ms20536 KiB
2Hibás válasz0/029ms21808 KiB
3Hibás válasz0/328ms21700 KiB
4Elfogadva3/328ms22160 KiB
5Hibás válasz0/328ms22044 KiB
6Hibás válasz0/330ms22432 KiB
7Hibás válasz0/329ms22980 KiB
8Hibás válasz0/329ms23048 KiB
9Hibás válasz0/329ms23272 KiB
10Hibás válasz0/334ms24024 KiB
11Elfogadva3/329ms23280 KiB
12Hibás válasz0/334ms23816 KiB
13Elfogadva4/430ms23568 KiB
14Elfogadva4/435ms24252 KiB
15Hibás válasz0/429ms23540 KiB
16Hibás válasz0/435ms24568 KiB
17Elfogadva4/429ms23740 KiB