AtCoder Beginner Contest 054

Submission #1588407

Source codeソースコード

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 N, M;
    string[] A, B;
    void Solve() {
        //input
        N = io.Int;
        M = io.Int;
        A = new string[N];
        B = new string[M];
        for (int i = 0; i < N; ++i)
            A[i] = io.String;
        for (int j = 0; j < M; ++j)
            B[j] = io.String;
        //cal
        for (int shiftX = 0; shiftX < N - M; ++shiftX) {
            for (int shiftY = 0; shiftY <= N - M; ++shiftY) {
                for (int i = 0; i < M; ++i) {
                    for (int j = 0; j < M; ++j) {
                        if (A[i + shiftY][j + shiftX] != B[i][j])
                            goto BR;
                    }
                }
                //res(Contain)
                Console.WriteLine("Yes");
                return;
            BR:;
            }
        }
        //res(!Contain)
        Console.WriteLine("No");
    }

    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

Task問題 B - Template Matching
User nameユーザ名 takt
Created time投稿日時
Language言語 C# (Mono 4.6.2.0)
Status状態 WA
Score得点 0
Source lengthソースコード長 2255 Byte
File nameファイル名
Exec time実行時間 ms
Memory usageメモリ使用量 -

Test case

Set

Set name Score得点 / Max score Cases
Sample - sample_01.txt,sample_02.txt
All 0 / 200 sample_01.txt,sample_02.txt,subtask_1_01.txt,subtask_1_02.txt,subtask_1_03.txt,subtask_1_04.txt,subtask_1_05.txt,subtask_1_06.txt,subtask_1_07.txt,subtask_1_08.txt

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
sample_01.txt AC 20 ms 9044 KB
sample_02.txt AC 20 ms 11092 KB
subtask_1_01.txt WA
subtask_1_02.txt AC 21 ms 11092 KB
subtask_1_03.txt AC 20 ms 11092 KB
subtask_1_04.txt AC 20 ms 9044 KB
subtask_1_05.txt AC 20 ms 9044 KB
subtask_1_06.txt AC 20 ms 9044 KB
subtask_1_07.txt AC 21 ms 11092 KB
subtask_1_08.txt AC 21 ms 11092 KB