Submission #1693997


Source Code Expand

using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
class Simple {
    int K, N;
    string[] v, w;
    void Solve() {
        //input
        K = io.Int;
        N = io.Int;
        v = new string[N];
        w = new string[N];
        for (int i = 0; i < N;++i){
            v[i] = io.String;
            w[i] = io.String;
        }
        //1~3のK文字の長さを列挙
        var res = gRangedArr(K, 1, 3);
        //各文字の長さを決定
        foreach (var list in res) {
            //検証
            var f = true;
            for (int i = 0; i < N;++i){
                var len = 0;
                foreach(var c in v[i])
                    len += list[int.Parse(c.ToString()) - 1];
                if (len != w[i].Length) {
                    f = false;
                    break;
                }
            }
            //文字の長さの条件を満たすものが見つかった
            if (f){               
                var ans = new string[K];
                for (int i = 0; i < N; ++i) {
                    var ind = 0;
                    foreach (var c in v[i]){
                        var c2i = int.Parse(c.ToString()) - 1;
                        var len = list[c2i];
                        if(ans[c2i]==null||ans[c2i]==""||ans[c2i]==w[i].Substring(ind, len)){
                            ans[c2i] = w[i].Substring(ind, len);                            
                            ind += len;                            
                        }else{
                            //文字が合わないことが判明
                            goto OUT;
                        }
                    }                   
                }
                //ret
                foreach (var val in ans) {                 
                    Console.WriteLine(val);
                }
                return;
            }
            OUT:;
        }
    }
    List<int[]> gRangedArr(int content, int rangeStart, int rangeEnd) {
        var result = new List<int[]>();
        _gRangedArr(content-1, new int[content], result, rangeStart, rangeEnd);
        return result;
    }
    void _gRangedArr(int n, int[] Arr, List<int[]> result, int rs, int re) {
        if (n < 0) { result.Add(Arr); return; }
        for (int i = rs; i <= re; ++i) {
            var newArr = Arr.ToArray();
            newArr[n] = i;
            _gRangedArr(n - 1, newArr, result, rs, re);
        }
    }

    SimpleIO io = new SimpleIO();
    public static void Main(string[] args) { new Simple().Stream(); }
    void Stream() {Solve();io.writeFlush();}
}
class SimpleIO {
    string[] nextBuffer;
    int BufferCnt;
    char[] cs = new char[] { ' ' };
    StreamWriter sw = new StreamWriter(Console.OpenStandardOutput()) { AutoFlush = false };
    public SimpleIO() {
        nextBuffer = new string[0];
        BufferCnt = 0;
        Console.SetOut(sw);
    }
    public string Next() {
        if (BufferCnt < nextBuffer.Length)
            return nextBuffer[BufferCnt++];
        string st = Console.ReadLine();
        while (st == "")
            st = Console.ReadLine();
        nextBuffer = st.Split(cs, StringSplitOptions.RemoveEmptyEntries);
        BufferCnt = 0;
        return nextBuffer[BufferCnt++];
    }
    public string String => Next();
    public char Char => char.Parse(String);
    public int Int => int.Parse(String);
    public long Long => long.Parse(String);
    public double Double => double.Parse(String);
    public void writeFlush() { Console.Out.Flush(); }
}

Submission Info

Submission Time
Task D - 語呂合わせ
User rui0422
Language C# (Mono 4.6.2.0)
Score 100
Code Size 3769 Byte
Status AC
Exec Time 64 ms
Memory 19296 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 40 / 40 60 / 60
Status
AC × 4
AC × 23
AC × 44
Set Name Test Cases
Sample sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt
Subtask1 sample-02.txt, sample-03.txt, sample-04.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt
Subtask2 sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt, subtask2-01.txt, subtask2-02.txt, subtask2-03.txt, subtask2-04.txt, subtask2-05.txt, subtask2-06.txt, subtask2-07.txt, subtask2-08.txt, subtask2-09.txt, subtask2-10.txt, subtask2-11.txt, subtask2-12.txt, subtask2-13.txt, subtask2-14.txt, subtask2-15.txt, subtask2-16.txt, subtask2-17.txt, subtask2-18.txt, subtask2-19.txt, subtask2-20.txt
Case Name Status Exec Time Memory
sample-01.txt AC 33 ms 11712 KB
sample-02.txt AC 24 ms 11348 KB
sample-03.txt AC 25 ms 11348 KB
sample-04.txt AC 24 ms 9300 KB
subtask1-01.txt AC 25 ms 11348 KB
subtask1-02.txt AC 25 ms 11348 KB
subtask1-03.txt AC 25 ms 13396 KB
subtask1-04.txt AC 24 ms 11348 KB
subtask1-05.txt AC 24 ms 9300 KB
subtask1-06.txt AC 25 ms 11348 KB
subtask1-07.txt AC 25 ms 11348 KB
subtask1-08.txt AC 24 ms 11348 KB
subtask1-09.txt AC 25 ms 13396 KB
subtask1-10.txt AC 24 ms 11348 KB
subtask1-11.txt AC 25 ms 11348 KB
subtask1-12.txt AC 24 ms 9300 KB
subtask1-13.txt AC 24 ms 9300 KB
subtask1-14.txt AC 24 ms 11348 KB
subtask1-15.txt AC 24 ms 9300 KB
subtask1-16.txt AC 25 ms 11348 KB
subtask1-17.txt AC 24 ms 9300 KB
subtask1-18.txt AC 25 ms 11348 KB
subtask1-19.txt AC 24 ms 9300 KB
subtask1-20.txt AC 24 ms 11348 KB
subtask2-01.txt AC 35 ms 13664 KB
subtask2-02.txt AC 32 ms 13664 KB
subtask2-03.txt AC 41 ms 13664 KB
subtask2-04.txt AC 49 ms 17248 KB
subtask2-05.txt AC 46 ms 19296 KB
subtask2-06.txt AC 39 ms 15712 KB
subtask2-07.txt AC 61 ms 17248 KB
subtask2-08.txt AC 30 ms 13664 KB
subtask2-09.txt AC 63 ms 19296 KB
subtask2-10.txt AC 63 ms 15200 KB
subtask2-11.txt AC 64 ms 19296 KB
subtask2-12.txt AC 42 ms 13664 KB
subtask2-13.txt AC 47 ms 15200 KB
subtask2-14.txt AC 40 ms 13664 KB
subtask2-15.txt AC 39 ms 13664 KB
subtask2-16.txt AC 32 ms 13664 KB
subtask2-17.txt AC 28 ms 13664 KB
subtask2-18.txt AC 63 ms 17248 KB
subtask2-19.txt AC 64 ms 19296 KB
subtask2-20.txt AC 63 ms 17248 KB