結果

問題 No.3776 Magic Square of Product
コンテスト
ユーザー tobisatis
提出日時 2026-10-23 21:49:26
言語 C#
(.NET 10.0.402 + ACL)
コンパイル:
dotnet_c
実行:
/usr/bin/dotnet_wrap
結果
WA  
実行時間 -
コード長 1,274 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 8,000 ms
コンパイル使用メモリ 171,720 KB
実行使用メモリ 48,420 KB
最終ジャッジ日時 2026-10-23 21:49:50
合計ジャッジ時間 16,193 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge4_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 2 WA * 23
権限があれば一括ダウンロードができます
コンパイルメッセージ
  復元対象のプロジェクトを決定しています...
  /home/judge/data/code/main.csproj を復元しました (262 ミリ秒)。
  main -> /home/judge/data/code/bin/Release/net10.0/main.dll
  main -> /home/judge/data/code/bin/Release/net10.0/publish/

ソースコード

diff #
raw source code

#nullable enable

var f = new int[21];
f.AsSpan()[1..].Fill(-1);
int F(int c)
{
    if (f[c] >= 0) return f[c];
    var res = 0;
    for (var a11 = 0; a11 <= c; a11++)
    {
        for (var a12 = 0; a11 + a12 <= c; a12++) for (var a21 = 0; a11 + a21 <= c; a21++)
        {
            for (var a22 = 0; a12 + a22 <= c && a21 + a22 <= c; a22++)
            {
                var a13 = c - a11 - a12;
                var a23 = c - a21 - a22;
                var a31 = c - a11 - a21;
                var a32 = c - a12 - a22;
                var x = c - a13 - a23;
                var y = c - a31 - a32;
                if (x >= 0 && x == y) res++;
            }
        }
    }
    return f[c] = res;
}

const int Mod = 998244353;
var ans = new List<long>();
var t = int.Parse(Console.ReadLine()!);
while (t-- > 0)
{
    var k = int.Parse(Console.ReadLine()!);
    var tns = 1L;
    var divz = new List<int>();
    for (var i = 2; i * i <= k; i++)
    {
        var c = 0;
        while (true)
        {
            var (p, q) = int.DivRem(k, i);
            if (q != 0) break;
            (k, c) = (p, c + 1);
        }
        tns = tns * F(c) % Mod;
    }
    if (k > 1) tns = tns * F(1) % Mod;
    ans.Add(tns);
}
Console.WriteLine(string.Join(Environment.NewLine, ans));
0