結果
| 問題 | No.3776 Magic Square of Product |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-10-23 21:46:30 |
| 言語 | C# (.NET 10.0.402 + ACL) |
| 結果 |
WA
不安定
|
| 実行時間 | - |
| コード長 | 1,223 bytes |
| 記録 | |
| コンパイル時間 | 9,493 ms |
| コンパイル使用メモリ | 171,392 KB |
| 実行使用メモリ | 47,488 KB |
| 最終ジャッジ日時 | 2026-10-23 21:47:51 |
| 合計ジャッジ時間 | 14,774 ms |
|
ジャッジサーバーID (参考情報) |
judge2_0 / judge3_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 2 WA * 23 |
コンパイルメッセージ
復元対象のプロジェクトを決定しています... /home/judge/data/code/main.csproj を復元しました (246 ミリ秒)。 main -> /home/judge/data/code/bin/Release/net10.0/main.dll main -> /home/judge/data/code/bin/Release/net10.0/publish/
ソースコード
#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;
}
var ans = new List<int>();
var t = int.Parse(Console.ReadLine()!);
while (t-- > 0)
{
var k = int.Parse(Console.ReadLine()!);
var tns = 1;
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 *= F(c);
}
if (k > 1) tns *= F(1);
ans.Add(tns);
}
Console.WriteLine(string.Join(Environment.NewLine, ans));