結果
| 問題 |
No.456 Millions of Submits!
|
| ユーザー |
くれちー
|
| 提出日時 | 2017-05-16 17:55:55 |
| 言語 | C#(csc) (csc 3.9.0) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 2,253 bytes |
| コンパイル時間 | 1,843 ms |
| コンパイル使用メモリ | 114,988 KB |
| 実行使用メモリ | 37,560 KB |
| 最終ジャッジ日時 | 2024-06-23 18:43:54 |
| 合計ジャッジ時間 | 14,077 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 12 TLE * 1 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using static System.Math;
using static Extensions;
static class Extensions
{
public static void GetNums<T1>(out T1 dest1)
{
var str = Console.ReadLine().Split();
dest1 = (T1)typeof(T1)
.GetMethod("Parse", new Type[] { typeof(string) })
.Invoke(null, new object[] { str[0] });
}
public static void GetNums<T1, T2, T3>(out T1 dest1, out T2 dest2, out T3 dest3)
{
var str = Console.ReadLine().Split();
dest1 = (T1)typeof(T1)
.GetMethod("Parse", new Type[] { typeof(string) })
.Invoke(null, new object[] { str[0] });
dest2 = (T2)typeof(T2)
.GetMethod("Parse", new Type[] { typeof(string) })
.Invoke(null, new object[] { str[1] });
dest3 = (T3)typeof(T3)
.GetMethod("Parse", new Type[] { typeof(string) })
.Invoke(null, new object[] { str[2] });
}
}
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;
GetNums(out m);
for (int i = 0; i < m; i++)
{
double a, b, t;
GetNums(out a, out b, out t);
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);
}
sw.WriteLine("{0:.#########}", n);
}
}
}
くれちー