Ejemplo n.º 1
0
 /// <summary>
 /// Mit Aufruf dieser Methode wird das <paramref name="SQL_Statement"/> zusammen mit den <paramref name="Parameters"/> als SQL-Abfrage an den <see cref="SQL_Server"/> gesendet.
 /// </summary>
 /// <param name="SQL_Statement">Der <see cref="string"/>, der die gesamte Abfrage enthält.</param>
 /// <param name="Parameters">Die Parameter, die mithilfe der <see cref="string.Format(string, object[])"/>-Methode in das <paramref name="SQL_Statement"/> eingefügt werden.</param>
 /// <remarks>
 /// Löst folgende Events aus:
 /// <list type="bullet">
 /// <item>
 /// <see cref="DataObjectsReceived"/>
 /// </item>
 /// <item>
 /// <see cref="DataSetReceived"/>
 /// </item>
 /// <item>
 /// <see cref="ErrorReceived"/>
 /// </item>
 /// </list>
 /// </remarks>
 public virtual void RunQuerry(string SQL_Statement, params string[] Parameters)
 {
     DQ.RunQuerry(SQL_Statement, Parameters);
 }
 public override int GetHashCode()
 {
     return(DP.GetHashCode() ^ DQ.GetHashCode() ^ Exponent.GetHashCode() ^ Modulus.GetHashCode()
            ^ P.GetHashCode() ^ Q.GetHashCode() ^ PublicExponent.GetHashCode() ^ QInv.GetHashCode());
 }
Ejemplo n.º 3
0
    static void Main()
    {
        var n = int.Parse(Console.ReadLine());
        var s = Console.ReadLine();

        var q     = new DQ <int>();
        var stack = new Stack <int>();

        int RemoveAndGetFirst(int k)
        {
            for (int i = 0; i < k; i++)
            {
                stack.Push(q.PopFirst());
            }
            var r = q.PopFirst();

            for (int i = 0; i < k; i++)
            {
                q.PushFirst(stack.Pop());
            }
            return(r);
        }

        int RemoveAndGetLast(int k)
        {
            for (int i = 0; i < k; i++)
            {
                stack.Push(q.PopLast());
            }
            var r = q.PopLast();

            for (int i = 0; i < k; i++)
            {
                q.PushLast(stack.Pop());
            }
            return(r);
        }

        Console.SetOut(new System.IO.StreamWriter(Console.OpenStandardOutput())
        {
            AutoFlush = false
        });
        for (int i = 0; i < n; i++)
        {
            var c = s[i];

            if (c == 'L')
            {
                q.PushFirst(i + 1);
            }
            else if (c == 'R')
            {
                q.PushLast(i + 1);
            }
            else if (c < 'D')
            {
                var k = c - 'A';
                if (k < q.Length)
                {
                    Console.WriteLine(RemoveAndGetFirst(k));
                }
                else
                {
                    Console.WriteLine("ERROR");
                }
            }
            else
            {
                var k = c - 'D';
                if (k < q.Length)
                {
                    Console.WriteLine(RemoveAndGetLast(k));
                }
                else
                {
                    Console.WriteLine("ERROR");
                }
            }
        }
        Console.Out.Flush();
    }