Submission #749634


Source Code Expand

using System;
using System.Text;
using System.IO;
using System.Globalization;
using System.Collections.Generic;

namespace ConsoleApplication21
{
    class Program
    {
        public static int H, W;
        public static char[,] c;
        public static byte[,] d;
        static void Main()
        {
            StreamScanner sc = new StreamScanner(Console.OpenStandardInput());
            H = sc.integer();
            W = sc.integer();
            int sx = 0, sy = 0, gx = 0, gy = 0;
            c = new char[W, H];
            d = new byte[W, H];
            for (int i = 0; i < H; i++)
            {
                for (int j = 0; j < W; j++)
                {
                    c[j, i] = sc.Char();
                    if (c[j, i] == 's') { sx = j; sy = i; }
                    if (c[j, i] == 'g') { gx = j; gy = i; }
                }
            }
            search(sx, sy);
            if (d[gx, gy] == 1) Console.Write("Yes\n");
            else Console.Write("No\n");
        }
        static void search(int x, int y)
        {
            int[] dx = { 1, -1, 0, 0 }, dy = { 0, 0, 1, -1 };
            for (int i = 0; i < 4; i++)
            {
                int nx = x + dx[i], ny = y + dy[i];
                if (0 <= nx && nx < W && 0<=ny && ny < H && c[nx, ny] != '#' && d[nx, ny] == 0)
                {
                    d[nx, ny] = 1;
                    search(nx, ny);
                }
            }
        }
    }
    public class StreamScanner
    {
        public StreamScanner(Stream stream) { str = stream; }
        private readonly Stream str;
        private readonly byte[] buf = new byte[1024];
        private long len, ptr;
        public bool isEof = false;
        public bool IsEndOfStream { get { return isEof; } }
        private byte read()
        {
            if (isEof) throw new EndOfStreamException();
            if (ptr >= len)
            {
                ptr = 0;
                if ((len = str.Read(buf, 0, 1024)) <= 0)
                {
                    isEof = true;
                    return 0;
                }
            }
            return buf[ptr++];
        }
        public char Char()
        {
            byte b = 0;
            do b = read();
            while (b < 33 || 126 < b);
            return (char)b;
        }
        public string Scan()
        {
            var sb = new StringBuilder();
            for (var b = Char(); b >= 33 && b <= 126; b = (char)read())
                sb.Append(b);
            return sb.ToString();
        }
        public long Long()
        {
            long ret = 0; byte b = 0; var ng = false;
            do b = read();
            while (b != '-' && (b < '0' || '9' < b));
            if (b == '-') { ng = true; b = read(); }
            for (; true; b = read())
            {
                if (b < '0' || '9' < b)
                    return ng ? -ret : ret;
                else ret = ret * 10 + b - '0';
            }
        }
        public int integer() { return (int)Long(); }
        public double Double() { return double.Parse(Scan(), CultureInfo.InvariantCulture); }
    }
}

Submission Info

Submission Time
Task A - 深さ優先探索
User autumn_eel
Language C# (Mono 3.2.1.0)
Score 100
Code Size 3218 Byte
Status AC
Exec Time 422 ms
Memory 42032 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 5
AC × 83
Set Name Test Cases
Sample 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.txt
All 00_min_01.txt, 00_min_02.txt, 00_min_03.txt, 00_min_04.txt, 00_min_05.txt, 00_min_06.txt, 00_min_07.txt, 00_min_08.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.txt, 01_rnd_00.txt, 01_rnd_01.txt, 01_rnd_02.txt, 01_rnd_03.txt, 01_rnd_04.txt, 01_rnd_05.txt, 01_rnd_06.txt, 01_rnd_07.txt, 01_rnd_08.txt, 01_rnd_09.txt, 01_rnd_10.txt, 01_rnd_11.txt, 01_rnd_12.txt, 01_rnd_13.txt, 01_rnd_14.txt, 01_rnd_15.txt, 01_rnd_16.txt, 01_rnd_17.txt, 01_rnd_18.txt, 01_rnd_19.txt, 02_rndhard_00.txt, 02_rndhard_01.txt, 02_rndhard_02.txt, 02_rndhard_03.txt, 02_rndhard_04.txt, 02_rndhard_05.txt, 02_rndhard_06.txt, 02_rndhard_07.txt, 02_rndhard_08.txt, 02_rndhard_09.txt, 02_rndhard_10.txt, 02_rndhard_11.txt, 02_rndhard_12.txt, 02_rndhard_13.txt, 02_rndhard_14.txt, 02_rndhard_15.txt, 02_rndhard_16.txt, 02_rndhard_17.txt, 02_rndhard_18.txt, 02_rndhard_19.txt, 02_rndhard_20.txt, 02_rndhard_21.txt, 02_rndhard_22.txt, 02_rndhard_23.txt, 02_rndhard_24.txt, 02_rndhard_25.txt, 02_rndhard_26.txt, 02_rndhard_27.txt, 02_rndhard_28.txt, 02_rndhard_29.txt, 02_rndhard_30.txt, 02_rndhard_31.txt, 02_rndhard_32.txt, 02_rndhard_33.txt, 02_rndhard_34.txt, 02_rndhard_35.txt, 02_rndhard_36.txt, 02_rndhard_37.txt, 02_rndhard_38.txt, 02_rndhard_39.txt, 03_rndhardsmall_00.txt, 03_rndhardsmall_01.txt, 03_rndhardsmall_02.txt, 03_rndhardsmall_03.txt, 03_rndhardsmall_04.txt, 03_rndhardsmall_05.txt, 03_rndhardsmall_06.txt, 03_rndhardsmall_07.txt, 03_rndhardsmall_08.txt, 03_rndhardsmall_09.txt
Case Name Status Exec Time Memory
00_min_01.txt AC 161 ms 8340 KB
00_min_02.txt AC 100 ms 8396 KB
00_min_03.txt AC 103 ms 8348 KB
00_min_04.txt AC 100 ms 8364 KB
00_min_05.txt AC 101 ms 8316 KB
00_min_06.txt AC 101 ms 8344 KB
00_min_07.txt AC 100 ms 8360 KB
00_min_08.txt AC 98 ms 8364 KB
00_sample_01.txt AC 107 ms 8356 KB
00_sample_02.txt AC 109 ms 8368 KB
00_sample_03.txt AC 100 ms 8364 KB
00_sample_04.txt AC 101 ms 8356 KB
00_sample_05.txt AC 100 ms 8360 KB
01_rnd_00.txt AC 109 ms 9056 KB
01_rnd_01.txt AC 379 ms 40448 KB
01_rnd_02.txt AC 277 ms 28084 KB
01_rnd_03.txt AC 409 ms 35728 KB
01_rnd_04.txt AC 381 ms 38816 KB
01_rnd_05.txt AC 107 ms 9132 KB
01_rnd_06.txt AC 304 ms 16356 KB
01_rnd_07.txt AC 285 ms 29776 KB
01_rnd_08.txt AC 108 ms 9132 KB
01_rnd_09.txt AC 105 ms 9164 KB
01_rnd_10.txt AC 137 ms 13872 KB
01_rnd_11.txt AC 106 ms 9132 KB
01_rnd_12.txt AC 319 ms 36484 KB
01_rnd_13.txt AC 293 ms 36244 KB
01_rnd_14.txt AC 106 ms 9180 KB
01_rnd_15.txt AC 184 ms 15304 KB
01_rnd_16.txt AC 105 ms 9036 KB
01_rnd_17.txt AC 149 ms 14276 KB
01_rnd_18.txt AC 107 ms 9128 KB
01_rnd_19.txt AC 422 ms 42032 KB
02_rndhard_00.txt AC 110 ms 9184 KB
02_rndhard_01.txt AC 107 ms 9260 KB
02_rndhard_02.txt AC 113 ms 11692 KB
02_rndhard_03.txt AC 113 ms 11404 KB
02_rndhard_04.txt AC 108 ms 9076 KB
02_rndhard_05.txt AC 107 ms 9164 KB
02_rndhard_06.txt AC 108 ms 9180 KB
02_rndhard_07.txt AC 108 ms 9180 KB
02_rndhard_08.txt AC 109 ms 9740 KB
02_rndhard_09.txt AC 109 ms 9644 KB
02_rndhard_10.txt AC 110 ms 9644 KB
02_rndhard_11.txt AC 109 ms 9728 KB
02_rndhard_12.txt AC 108 ms 9476 KB
02_rndhard_13.txt AC 108 ms 9476 KB
02_rndhard_14.txt AC 108 ms 9644 KB
02_rndhard_15.txt AC 110 ms 9684 KB
02_rndhard_16.txt AC 107 ms 9228 KB
02_rndhard_17.txt AC 108 ms 9132 KB
02_rndhard_18.txt AC 107 ms 9264 KB
02_rndhard_19.txt AC 107 ms 9164 KB
02_rndhard_20.txt AC 108 ms 9220 KB
02_rndhard_21.txt AC 108 ms 9260 KB
02_rndhard_22.txt AC 108 ms 9496 KB
02_rndhard_23.txt AC 107 ms 9348 KB
02_rndhard_24.txt AC 108 ms 9132 KB
02_rndhard_25.txt AC 108 ms 9132 KB
02_rndhard_26.txt AC 107 ms 9260 KB
02_rndhard_27.txt AC 107 ms 9172 KB
02_rndhard_28.txt AC 107 ms 9220 KB
02_rndhard_29.txt AC 107 ms 9260 KB
02_rndhard_30.txt AC 107 ms 9132 KB
02_rndhard_31.txt AC 107 ms 9172 KB
02_rndhard_32.txt AC 109 ms 9452 KB
02_rndhard_33.txt AC 108 ms 9396 KB
02_rndhard_34.txt AC 108 ms 9132 KB
02_rndhard_35.txt AC 106 ms 9136 KB
02_rndhard_36.txt AC 107 ms 9092 KB
02_rndhard_37.txt AC 110 ms 9176 KB
02_rndhard_38.txt AC 110 ms 9248 KB
02_rndhard_39.txt AC 108 ms 9256 KB
03_rndhardsmall_00.txt AC 100 ms 8320 KB
03_rndhardsmall_01.txt AC 99 ms 8424 KB
03_rndhardsmall_02.txt AC 99 ms 8364 KB
03_rndhardsmall_03.txt AC 100 ms 8404 KB
03_rndhardsmall_04.txt AC 97 ms 8352 KB
03_rndhardsmall_05.txt AC 99 ms 8412 KB
03_rndhardsmall_06.txt AC 99 ms 8364 KB
03_rndhardsmall_07.txt AC 98 ms 8364 KB
03_rndhardsmall_08.txt AC 98 ms 8392 KB
03_rndhardsmall_09.txt AC 98 ms 8412 KB