提出 #46552389
ソースコード 拡げる
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Numerics;
namespace Tasks;
public class D
{
public static void Main()
{
using var sw = new StreamWriter(Console.OpenStandardOutput()) { AutoFlush = false };
Console.SetOut(sw);
Solve();
Console.Out.Flush();
}
public static void Solve()
{
var N = Scanner.Scan<int>();
var S = Scanner.Scan<string>();
var CS = new int[10];
foreach (var c in S.Select(x => x - '0')) CS[c]++;
var MAX = (long)1e13;
var sqrs = new List<long>();
long v = 0;
while (v * v <= MAX)
{
sqrs.Add(v * v);
v++;
}
long answer = 0;
foreach (var x in sqrs)
{
var CT = new int[10];
var y = x;
while (y > 0)
{
CT[(int)(y % 10)]++;
y /= 10;
}
var ok = true;
for (var i = 0; i < 10 && ok; i++)
{
if (i == 0)
{
ok &= CS[i] >= CT[i];
}
else
{
ok &= CS[i] == CT[i];
}
}
if (ok) answer++;
}
Console.WriteLine(answer);
}
public static class Scanner
{
public static T Scan<T>() where T : IConvertible => Convert<T>(ScanStringArray()[0]);
public static (T1, T2) Scan<T1, T2>() where T1 : IConvertible where T2 : IConvertible
{
var input = ScanStringArray();
return (Convert<T1>(input[0]), Convert<T2>(input[1]));
}
public static (T1, T2, T3) Scan<T1, T2, T3>() where T1 : IConvertible where T2 : IConvertible where T3 : IConvertible
{
var input = ScanStringArray();
return (Convert<T1>(input[0]), Convert<T2>(input[1]), Convert<T3>(input[2]));
}
public static (T1, T2, T3, T4) Scan<T1, T2, T3, T4>() where T1 : IConvertible where T2 : IConvertible where T3 : IConvertible where T4 : IConvertible
{
var input = ScanStringArray();
return (Convert<T1>(input[0]), Convert<T2>(input[1]), Convert<T3>(input[2]), Convert<T4>(input[3]));
}
public static (T1, T2, T3, T4, T5) Scan<T1, T2, T3, T4, T5>() where T1 : IConvertible where T2 : IConvertible where T3 : IConvertible where T4 : IConvertible where T5 : IConvertible
{
var input = ScanStringArray();
return (Convert<T1>(input[0]), Convert<T2>(input[1]), Convert<T3>(input[2]), Convert<T4>(input[3]), Convert<T5>(input[4]));
}
public static (T1, T2, T3, T4, T5, T6) Scan<T1, T2, T3, T4, T5, T6>() where T1 : IConvertible where T2 : IConvertible where T3 : IConvertible where T4 : IConvertible where T5 : IConvertible where T6 : IConvertible
{
var input = ScanStringArray();
return (Convert<T1>(input[0]), Convert<T2>(input[1]), Convert<T3>(input[2]), Convert<T4>(input[3]), Convert<T5>(input[4]), Convert<T6>(input[5]));
}
public static IEnumerable<T> ScanEnumerable<T>() where T : IConvertible => ScanStringArray().Select(Convert<T>);
private static string[] ScanStringArray()
{
var line = Console.ReadLine()?.Trim() ?? string.Empty;
return string.IsNullOrEmpty(line) ? Array.Empty<string>() : line.Split(' ');
}
private static T Convert<T>(string value) where T : IConvertible => (T)System.Convert.ChangeType(value, typeof(T));
}
}
提出情報
ジャッジ結果
| セット名 |
Sample |
All |
| 得点 / 配点 |
0 / 0 |
425 / 425 |
| 結果 |
|
|
| セット名 |
テストケース |
| Sample |
00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt |
| All |
00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt, 01_random_20.txt, 01_random_21.txt, 01_random_22.txt, 02_max_23.txt, 02_max_24.txt, 02_max_25.txt, 02_max_26.txt, 02_max_27.txt, 02_max_28.txt, 02_max_29.txt, 02_max_30.txt, 02_max_31.txt, 02_max_32.txt, 02_max_33.txt, 02_max_34.txt, 02_max_35.txt, 03_small_36.txt, 03_small_37.txt, 03_small_38.txt, 03_small_39.txt, 03_small_40.txt, 03_small_41.txt, 03_small_42.txt, 03_small_43.txt, 03_small_44.txt, 03_small_45.txt |
| ケース名 |
結果 |
実行時間 |
メモリ |
| 00_sample_00.txt |
AC |
259 ms |
112080 KiB |
| 00_sample_01.txt |
AC |
267 ms |
111896 KiB |
| 00_sample_02.txt |
AC |
261 ms |
112108 KiB |
| 01_random_03.txt |
AC |
258 ms |
112112 KiB |
| 01_random_04.txt |
AC |
248 ms |
111820 KiB |
| 01_random_05.txt |
AC |
251 ms |
111836 KiB |
| 01_random_06.txt |
AC |
263 ms |
111844 KiB |
| 01_random_07.txt |
AC |
260 ms |
112112 KiB |
| 01_random_08.txt |
AC |
239 ms |
112052 KiB |
| 01_random_09.txt |
AC |
250 ms |
111808 KiB |
| 01_random_10.txt |
AC |
258 ms |
112112 KiB |
| 01_random_11.txt |
AC |
256 ms |
111900 KiB |
| 01_random_12.txt |
AC |
259 ms |
111804 KiB |
| 01_random_13.txt |
AC |
242 ms |
112120 KiB |
| 01_random_14.txt |
AC |
267 ms |
111860 KiB |
| 01_random_15.txt |
AC |
256 ms |
112120 KiB |
| 01_random_16.txt |
AC |
254 ms |
111820 KiB |
| 01_random_17.txt |
AC |
254 ms |
111816 KiB |
| 01_random_18.txt |
AC |
257 ms |
111832 KiB |
| 01_random_19.txt |
AC |
245 ms |
111788 KiB |
| 01_random_20.txt |
AC |
255 ms |
111816 KiB |
| 01_random_21.txt |
AC |
245 ms |
111836 KiB |
| 01_random_22.txt |
AC |
272 ms |
111816 KiB |
| 02_max_23.txt |
AC |
272 ms |
112028 KiB |
| 02_max_24.txt |
AC |
264 ms |
112084 KiB |
| 02_max_25.txt |
AC |
273 ms |
111904 KiB |
| 02_max_26.txt |
AC |
256 ms |
112060 KiB |
| 02_max_27.txt |
AC |
264 ms |
111976 KiB |
| 02_max_28.txt |
AC |
247 ms |
111820 KiB |
| 02_max_29.txt |
AC |
272 ms |
111800 KiB |
| 02_max_30.txt |
AC |
257 ms |
111828 KiB |
| 02_max_31.txt |
AC |
247 ms |
112088 KiB |
| 02_max_32.txt |
AC |
242 ms |
111776 KiB |
| 02_max_33.txt |
AC |
245 ms |
111956 KiB |
| 02_max_34.txt |
AC |
254 ms |
111820 KiB |
| 02_max_35.txt |
AC |
243 ms |
112076 KiB |
| 03_small_36.txt |
AC |
258 ms |
111960 KiB |
| 03_small_37.txt |
AC |
266 ms |
111836 KiB |
| 03_small_38.txt |
AC |
250 ms |
112096 KiB |
| 03_small_39.txt |
AC |
253 ms |
111964 KiB |
| 03_small_40.txt |
AC |
248 ms |
112080 KiB |
| 03_small_41.txt |
AC |
242 ms |
112024 KiB |
| 03_small_42.txt |
AC |
242 ms |
112108 KiB |
| 03_small_43.txt |
AC |
254 ms |
112116 KiB |
| 03_small_44.txt |
AC |
247 ms |
112020 KiB |
| 03_small_45.txt |
AC |
251 ms |
112020 KiB |