76602024-01-10 10:58:11ananászTáblajátékcsharpHibás válasz 10/5037ms25256 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] = 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.WriteLine(sorozat[i]);
                }
            }
            Console.ReadKey();
        }
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base10/50
1Hibás válasz0/029ms20880 KiB
2Hibás válasz0/028ms20900 KiB
3Hibás válasz0/328ms21936 KiB
4Részben helyes1/328ms22220 KiB
5Hibás válasz0/329ms22668 KiB
6Hibás válasz0/329ms22944 KiB
7Hibás válasz0/328ms23108 KiB
8Hibás válasz0/329ms23768 KiB
9Hibás válasz0/328ms23756 KiB
10Hibás válasz0/337ms24544 KiB
11Részben helyes1/329ms24012 KiB
12Részben helyes1/334ms24840 KiB
13Részben helyes1/429ms24564 KiB
14Részben helyes1/434ms25256 KiB
15Részben helyes1/428ms24764 KiB
16Hibás válasz0/434ms25124 KiB
17Elfogadva4/428ms24672 KiB