結果

問題 No.456 Millions of Submits!
ユーザー くれちーくれちー
提出日時 2017-05-16 18:03:01
言語 C#(csc)
(csc 3.9.0)
結果
AC  
実行時間 3,874 ms / 4,500 ms
コード長 1,493 bytes
コンパイル時間 2,667 ms
コンパイル使用メモリ 103,288 KB
実行使用メモリ 29,828 KB
最終ジャッジ日時 2023-09-05 23:33:51
合計ジャッジ時間 15,861 ms
ジャッジサーバーID
(参考情報)
judge15 / judge13
このコードへのチャレンジ(β)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 71 ms
23,612 KB
testcase_01 AC 71 ms
25,772 KB
testcase_02 AC 70 ms
23,376 KB
testcase_03 AC 72 ms
25,500 KB
testcase_04 AC 71 ms
23,492 KB
testcase_05 AC 73 ms
25,676 KB
testcase_06 AC 71 ms
21,520 KB
testcase_07 AC 75 ms
23,464 KB
testcase_08 AC 75 ms
21,600 KB
testcase_09 AC 109 ms
27,620 KB
testcase_10 AC 110 ms
25,660 KB
testcase_11 AC 451 ms
29,668 KB
testcase_12 AC 3,874 ms
29,828 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc)
Copyright (C) Microsoft Corporation. All rights reserved.

ソースコード

diff #

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using static System.Math;

class Program
{
    static StreamWriter sw;

    static void Main()
    {
        sw = new StreamWriter(Console.OpenStandardOutput()) { AutoFlush = false };
        Console.SetOut(sw);
        Solve();
        Console.Out.Flush();
    }

    static void Solve()
    {
        int m = int.Parse(Console.ReadLine());

        for (int i = 0; i < m; i++)
        {
            var tmp = Console.ReadLine().Split();
            double a = double.Parse(tmp[0]);
            double b = double.Parse(tmp[1]);
            double t = double.Parse(tmp[2]);
            double n;
            if (a == 0.0) n = Exp(Pow(t, 1.0 / b));
            else if (b == 0.0) n = Pow(t, 1.0 / a);
            else
            {
                double d; n = 2.0;
                do
                {
                    double t1 = Log(n);
                    double t2 = Pow(n, a - 2.0);
                    double t3 = Pow(t1, b - 2.0);
                    double d0 = t2 * n * n * t3 * t1 * t1 - t;
                    double d1 = t2 * n * t3 * t1 * (a * t1 + b);
                    double d2 = t2 * t3 * (((a * 2.0 - 1.0) * b + (a - 1.0) * a * t1) * t1 + (b - 1.0) * b);
                    d = d0 / (d1 - (d0 * d2) / (d1 * 2.0));
                    n -= d;
                }
                while (Abs(d) > 10e-10);
            }
            Console.WriteLine("{0:.#########}", n);
        }
    }
}
0