Submission #51046772
Source Code Expand
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 T = Scanner.Scan<string>();
var N = Scanner.Scan<int>();
var dp = new Dictionary<string, int>();
const int Inf = 1 << 30;
dp[""] = 0;
for (var i = 0; i < N; i++)
{
var line = Scanner.ScanEnumerable<string>().ToArray();
var a = int.Parse(line[0]);
var ndp = new Dictionary<string, int>(dp);
foreach (var (s, c) in dp)
{
foreach (var t in line[1..])
{
if (s.Length + t.Length > T.Length) continue;
var ok = true;
for (var j = 0; j < t.Length && ok; j++)
{
ok &= t[j] == T[s.Length + j];
}
if (ok)
{
var x = s + t;
if (!ndp.ContainsKey(x)) ndp[x] = Inf;
ndp[x] = Math.Min(ndp[x], c + 1);
}
}
}
dp = ndp;
}
var answer = dp.ContainsKey(T) ? dp[T] : -1;
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));
}
}
Submission Info
| Submission Time | |
|---|---|
| Task | D - String Bags |
| User | AconCavy |
| Language | C# 11.0 (.NET 7.0.7) |
| Score | 425 |
| Code Size | 3951 Byte |
| Status | AC |
| Exec Time | 62 ms |
| Memory | 28860 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 425 / 425 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt |
| All | sample_01.txt, sample_02.txt, sample_03.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt, test_49.txt, test_50.txt, test_51.txt, test_52.txt, test_53.txt, test_54.txt, test_55.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| sample_01.txt | AC | 60 ms | 26168 KiB |
| sample_02.txt | AC | 53 ms | 26140 KiB |
| sample_03.txt | AC | 48 ms | 26440 KiB |
| test_01.txt | AC | 54 ms | 26608 KiB |
| test_02.txt | AC | 56 ms | 26460 KiB |
| test_03.txt | AC | 53 ms | 26420 KiB |
| test_04.txt | AC | 54 ms | 26876 KiB |
| test_05.txt | AC | 53 ms | 26908 KiB |
| test_06.txt | AC | 53 ms | 26624 KiB |
| test_07.txt | AC | 58 ms | 26288 KiB |
| test_08.txt | AC | 58 ms | 26520 KiB |
| test_09.txt | AC | 54 ms | 26604 KiB |
| test_10.txt | AC | 58 ms | 26520 KiB |
| test_11.txt | AC | 51 ms | 26616 KiB |
| test_12.txt | AC | 53 ms | 26508 KiB |
| test_13.txt | AC | 49 ms | 26740 KiB |
| test_14.txt | AC | 62 ms | 28860 KiB |
| test_15.txt | AC | 58 ms | 26620 KiB |
| test_16.txt | AC | 58 ms | 26808 KiB |
| test_17.txt | AC | 57 ms | 26772 KiB |
| test_18.txt | AC | 50 ms | 26452 KiB |
| test_19.txt | AC | 53 ms | 26440 KiB |
| test_20.txt | AC | 58 ms | 26888 KiB |
| test_21.txt | AC | 53 ms | 26800 KiB |
| test_22.txt | AC | 46 ms | 26728 KiB |
| test_23.txt | AC | 47 ms | 26384 KiB |
| test_24.txt | AC | 50 ms | 26904 KiB |
| test_25.txt | AC | 52 ms | 27056 KiB |
| test_26.txt | AC | 54 ms | 26840 KiB |
| test_27.txt | AC | 50 ms | 27488 KiB |
| test_28.txt | AC | 58 ms | 26588 KiB |
| test_29.txt | AC | 54 ms | 26564 KiB |
| test_30.txt | AC | 58 ms | 26456 KiB |
| test_31.txt | AC | 46 ms | 26788 KiB |
| test_32.txt | AC | 57 ms | 26608 KiB |
| test_33.txt | AC | 49 ms | 26872 KiB |
| test_34.txt | AC | 47 ms | 26312 KiB |
| test_35.txt | AC | 51 ms | 26992 KiB |
| test_36.txt | AC | 58 ms | 26576 KiB |
| test_37.txt | AC | 61 ms | 26508 KiB |
| test_38.txt | AC | 53 ms | 26548 KiB |
| test_39.txt | AC | 48 ms | 26560 KiB |
| test_40.txt | AC | 48 ms | 26984 KiB |
| test_41.txt | AC | 56 ms | 27140 KiB |
| test_42.txt | AC | 50 ms | 26988 KiB |
| test_43.txt | AC | 53 ms | 26776 KiB |
| test_44.txt | AC | 54 ms | 26504 KiB |
| test_45.txt | AC | 49 ms | 26500 KiB |
| test_46.txt | AC | 50 ms | 26308 KiB |
| test_47.txt | AC | 54 ms | 26816 KiB |
| test_48.txt | AC | 54 ms | 26720 KiB |
| test_49.txt | AC | 59 ms | 26700 KiB |
| test_50.txt | AC | 53 ms | 26772 KiB |
| test_51.txt | AC | 44 ms | 26944 KiB |
| test_52.txt | AC | 46 ms | 26404 KiB |
| test_53.txt | AC | 59 ms | 27552 KiB |
| test_54.txt | AC | 49 ms | 26584 KiB |
| test_55.txt | AC | 59 ms | 27548 KiB |