結果

問題 No.239 にゃんぱすー
ユーザー 紙ぺーぱー
提出日時 2015-07-10 23:36:27
言語 C#
(csc 3.100.19.26603)
結果
AC  
実行時間 35 ms
コード長 4,989 Byte
コンパイル時間 1,277 ms
使用メモリ 11,980 KB
最終ジャッジ日時 2019-09-18 13:54:37

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
challenge01.txt AC 28 ms
9,708 KB
challenge02.txt AC 27 ms
9,700 KB
challenge03.txt AC 28 ms
9,708 KB
sample1.txt AC 27 ms
9,724 KB
sample2.txt AC 28 ms
9,716 KB
sample3.txt AC 27 ms
9,704 KB
sample4.txt AC 27 ms
9,708 KB
test1.txt AC 27 ms
9,740 KB
test2.txt AC 28 ms
9,748 KB
test3.txt AC 28 ms
9,772 KB
test4.txt AC 27 ms
9,816 KB
test5.txt AC 28 ms
9,864 KB
test6.txt AC 28 ms
9,920 KB
test7.txt AC 28 ms
9,992 KB
test8.txt AC 28 ms
10,076 KB
test9.txt AC 29 ms
10,172 KB
test10.txt AC 29 ms
10,284 KB
test11.txt AC 30 ms
10,396 KB
test12.txt AC 30 ms
10,524 KB
test13.txt AC 30 ms
10,656 KB
test14.txt AC 31 ms
10,816 KB
test15.txt AC 31 ms
10,988 KB
test16.txt AC 32 ms
11,156 KB
test17.txt AC 32 ms
11,332 KB
test18.txt AC 33 ms
11,540 KB
test19.txt AC 34 ms
11,756 KB
test20.txt AC 34 ms
11,972 KB
test21.txt AC 27 ms
9,756 KB
test22.txt AC 27 ms
9,816 KB
test23.txt AC 28 ms
9,920 KB
test24.txt AC 28 ms
10,088 KB
test25.txt AC 29 ms
10,288 KB
test26.txt AC 30 ms
10,540 KB
test27.txt AC 31 ms
10,820 KB
test28.txt AC 32 ms
11,168 KB
test29.txt AC 34 ms
11,540 KB
test30.txt AC 35 ms
11,980 KB
テストケース一括ダウンロード
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.100.19.26603 (9d80dea7)
Copyright (C) Microsoft Corporation. All rights reserved.

ソースコード

diff #
using System;
using System.Linq;
using System.Diagnostics;
using System.Collections.Generic;
using Debug = System.Diagnostics.Debug;
using StringBuilder = System.Text.StringBuilder;
using System.Numerics;

namespace Program
{

    public class Solver
    {
        public void Solve()
        {
            var n = sc.Integer();
            var S = Enumerate(n, x => sc.Scan(n));
            var id = -1;
            const string にゃんぱす = "nyanpass";
            for (int j = 0; j < n; j++)
            {
                var cnt = 0;
                for (int i = 0; i < n; i++)
                {
                    if (S[i][j] == にゃんぱす)
                        cnt++;

                }

                if (cnt == n - 1)
                {
                    if (id == -1)
                        id = j + 1;
                    else
                    {
                        IO.Printer.Out.WriteLine(-1);
                        return;
                    }
                }
            }
            IO.Printer.Out.WriteLine(id);
        }
        public IO.StreamScanner sc = new IO.StreamScanner(Console.OpenStandardInput());
        static T[] Enumerate<T>(int n, Func<int, T> f) { var a = new T[n]; for (int i = 0; i < n; ++i) a[i] = f(i); return a; }
        static public void Swap<T>(ref T a, ref T b) { var tmp = a; a = b; b = tmp; }
    }
}

#region main
static class Ex
{
    static public string AsString(this IEnumerable<char> ie) { return new string(System.Linq.Enumerable.ToArray(ie)); }
    static public string AsJoinedString<T>(this IEnumerable<T> ie, string st = " ") { return string.Join(st, ie); }
    static public void Main()
    {
        var solver = new Program.Solver();
        solver.Solve();
        Program.IO.Printer.Out.Flush();
    }
}
#endregion
#region Ex
namespace Program.IO
{
    using System.IO;
    using System.Text;
    using System.Globalization;
    public class Printer : StreamWriter
    {
        static Printer() { Out = new Printer(Console.OpenStandardOutput()) { AutoFlush = false }; }
        public static Printer Out { get; set; }
        public override IFormatProvider FormatProvider { get { return CultureInfo.InvariantCulture; } }
        public Printer(System.IO.Stream stream) : base(stream, new UTF8Encoding(false, true)) { }
        public Printer(System.IO.Stream stream, Encoding encoding) : base(stream, encoding) { }
        public void Write<T>(string format, T[] source) { base.Write(format, source.OfType<object>().ToArray()); }
        public void WriteLine<T>(string format, T[] source) { base.WriteLine(format, source.OfType<object>().ToArray()); }
    }
    public class StreamScanner
    {
        public StreamScanner(Stream stream) { str = stream; }
        public readonly Stream str;
        private readonly byte[] buf = new byte[1024];
        private int len, ptr;
        public bool isEof = false;
        public bool IsEndOfStream { get { return isEof; } }
        private byte read()
        {
            if (isEof) return 0;
            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) && !isEof); 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 string ScanLine()
        {
            var sb = new StringBuilder();
            for (var b = Char(); b != '\n'; b = (char)read())
                if (b == 0) break;
                else if (b != '\r') sb.Append(b);
            return sb.ToString();
        }
        public long Long()
        {
            if (isEof) return long.MinValue;
            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 (isEof) ? int.MinValue : (int)Long(); }
        public double Double() { return double.Parse(Scan(), CultureInfo.InvariantCulture); }
        private T[] enumerate<T>(int n, Func<T> f)
        {
            var a = new T[n];
            for (int i = 0; i < n; ++i) a[i] = f();
            return a;
        }

        public char[] Char(int n) { return enumerate(n, Char); }
        public string[] Scan(int n) { return enumerate(n, Scan); }
        public double[] Double(int n) { return enumerate(n, Double); }
        public int[] Integer(int n) { return enumerate(n, Integer); }
        public long[] Long(int n) { return enumerate(n, Long); }
    }
}
#endregion
0