WriteLine() private method

private WriteLine ( object value ) : void
value object
return void
Beispiel #1
0
        public static void Call(MethodBase mb, params object[] args)
        {
            if (mb == null)
            {
                throw new ArgumentNullException("mb");
            }

            StringBuilder line = new StringBuilder();

            line.Append("[");
            line.Append(System.IO.Path.GetFileName(mb.DeclaringType.Assembly.Location));
            line.Append("] ");
            line.Append(mb.DeclaringType.Name);
            line.Append(".");
            line.Append(mb.Name);
            line.Append("(");
            line.Append(_Parameterize(mb, args));
            line.Append(")");

#if LOG4NET
            _Logger.Debug(line.ToString());
#else
            SysTrace.WriteLine(line.ToString());
#endif
        }
Beispiel #2
0
 /// <inheritdoc cref="IAmLogger.Info" />
 public void Info
 (
     string text
 )
 {
     if (!string.IsNullOrEmpty(text))
     {
         SysTrace.WriteLine(text, "Info");
     }
 }
Beispiel #3
0
 /// <inheritdoc cref="IAmLogger.Fatal" />
 public void Fatal
 (
     string text
 )
 {
     if (!string.IsNullOrEmpty(text))
     {
         SysTrace.WriteLine(text, "Fatal");
     }
 }
Beispiel #4
0
 /// <inheritdoc cref="IAmLogger.Error" />
 public void Error
 (
     string text
 )
 {
     if (!string.IsNullOrEmpty(text))
     {
         SysTrace.WriteLine(text, "Error");
     }
 }
Beispiel #5
0
 /// <inheritdoc cref="IAmLogger.Debug" />
 public void Debug
 (
     string text
 )
 {
     if (!string.IsNullOrEmpty(text))
     {
         SysTrace.WriteLine(text, "Debug");
     }
 }
Beispiel #6
0
 /// <inheritdoc cref="IAmLogger.Warn" />
 public void Warn
 (
     string text
 )
 {
     if (!string.IsNullOrEmpty(text))
     {
         SysTrace.WriteLine(text, "Warn");
     }
 }
Beispiel #7
0
 /// <inheritdoc cref="IAmLogger.Trace" />
 public void Trace
 (
     string text
 )
 {
     if (!string.IsNullOrEmpty(text))
     {
         SysTrace.WriteLine(text, "Trace");
     }
 }
Beispiel #8
0
        bool ok(int[] s, int k)
        {
            Debug.WriteLine($"start {k}");
            var a = new Stack <int[]>();

            a.Push(new int[] { 0, s[0] });
            for (int i = 1; i < s.Length; i++)
            {
                //Debug.WriteLine(a.Reverse().Select(x => $"[{x[0]} {x[1]}]").AsJoinedString());
                if (s[i] > s[i - 1])
                {
                    if (a.Peek()[0] != 0)
                    {
                        a.Push(new int[] { 0, s[i] - s[i - 1] });
                    }
                    else
                    {
                        a.Peek()[1] += s[i] - s[i - 1];
                    }
                }
                else
                {
                    var v = s[i - 1] - s[i];
                    while (v > 0)
                    {
                        if (a.Count == 0)
                        {
                            return(false);
                        }
                        if (a.Peek()[1] <= v)
                        {
                            v -= a.Pop()[1];
                        }
                        else
                        {
                            a.Peek()[1] -= v;
                            break;
                        }
                    }
                    if (!increment(a, k))
                    {
                        return(false);
                    }
                }
            }
            //Debug.WriteLine(a.Reverse().Select(x => $"[{x[0]} {x[1]}]").AsJoinedString());
            return(true);
        }
Beispiel #9
0
    /// <summary>
    /// Writes the trace to the Debug
    /// </summary>
    /// <param name="type">Type of trace</param>
    /// <param name="module">Module responsible for the error</param>
    /// <param name="message">The message to be displayed</param>
    /// [Conditional("DEBUG")]
    private static void writeToDebug(String type, String module, String message)
    {
        int    space1 = 8;
        int    space2 = 40;
        string line   = null;

        if (useHPTime)
        {
            line = HPTime.Now.ToString() + ":  " + type.PadRight(space1 + 4, ' ') + module.PadRight(space2, ' ') + message;
        }
        else
        {
            line = System.DateTime.Now.ToString("HH:mm:ss:ffff") + ":  " + type.PadRight(space1, ' ') + module.PadRight(space2, ' ') + message;
        }

        SysTrace.WriteLine(line);
    }
Beispiel #10
0
        public void Solve()
        {
            var n = ri;
            var a = new long[n];
            var b = new long[n];

            for (int i = 0; i < n; i++)
            {
                a[i] = ri; b[i] = ri;
            }
            a = a.OrderByDescending(x => x).ToArray();
            b = b.OrderBy(x => x).ToArray();
            Debug.WriteLine(a.AsJoinedString());
            Debug.WriteLine(b.AsJoinedString());
            var ans = 0L;
            var u   = 0L;
            var cnt = 0;

            for (int i = 0; i < n; i++)
            {
                u   += 2 * a[i];
                u   -= 2 * b[i];
                cnt += 2;
                Debug.WriteLine(u);
                if (cnt <= n)
                {
                    ans = Max(ans, u);
                }
                if (cnt - 1 <= n)
                {
                    ans = Max(ans, u - 2 * a[i]);
                    ans = Max(ans, u + 2 * b[i]);
                }
            }
            Console.WriteLine(ans);
        }
Beispiel #11
0
        public void Solve()
        {
            const long M = (long)1e9 + 7;
            var        n = ri * 2; var k = ri;
            var        a = Enumerate(k, x => new int[] { ri - 1, ri - 1 });

            long[][] dp = Enumerate(n, x => new long[n]);
            long[][] ep = Enumerate(n, x => new long[n]);
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    dp[i][j] = ep[i][j] = -1;
                }
            }
            long[] f = new long[n + 5];
            f[0] = 1;
            for (int i = 2; i <= n; i += 2)
            {
                f[i] = f[i - 2] * (i - 1) % M;
            }
            Func <int, int, long> efs = null;

            efs = (l, r) =>
            {
                if (ep[l][r] != -1)
                {
                    return(ep[l][r]);
                }
                var cnt = 0;
                foreach (var v in a)
                {
                    if (l <= v[0] && v[0] <= r)
                    {
                        cnt++;
                    }
                    if (l <= v[1] && v[1] <= r)
                    {
                        cnt++;
                    }
                    if (cnt % 2 == 1)
                    {
                        return(dp[l][r] = 0);
                    }
                }
                return(ep[l][r] = f[r - l + 1 - cnt]);
            };
            Func <int, int, long> dfs = null;

            dfs = (l, r) =>
            {
                if (dp[l][r] != -1)
                {
                    return(dp[l][r]);
                }
                var ret = efs(l, r);
                for (int i = l + 1; i < r; i += 2)
                {
                    ret = (ret + M - dfs(l, i) * efs(i + 1, r) % M) % M;
                }
                return(dp[l][r] = ret);
            };
            long ans = 0;

            for (int l = 0; l < n; l++)
            {
                for (int r = l + 1; r < n; r++)
                {
                    var add = dfs(l, r);
                    if (add == 0)
                    {
                        continue;
                    }
                    var cnt = 0;
                    foreach (var v in a)
                    {
                        if (l <= v[0] && v[0] <= r)
                        {
                            cnt++;
                        }
                        if (l <= v[1] && v[1] <= r)
                        {
                            cnt++;
                        }
                    }
                    var rem = n - (r - l + 1);
                    rem -= 2 * k - cnt;
                    add  = add * f[rem] % M;
                    Debug.WriteLine($"{l + 1} {r + 1} {add}");
                    ans = (ans + add) % M;
                }
            }
            Console.WriteLine(ans);
        }