結果

問題 No.239 にゃんぱすー
ユーザー nokonoko
提出日時 2015-07-10 22:41:21
言語 C#
(csc 3.100.19.26603)
結果
AC  
実行時間 41 ms
コード長 3,445 Byte
コンパイル時間 1,199 ms
使用メモリ 20,912 KB
最終ジャッジ日時 2019-09-18 13:46:33

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
challenge01.txt AC 36 ms
14,744 KB
challenge02.txt AC 36 ms
16,792 KB
challenge03.txt AC 36 ms
16,812 KB
sample1.txt AC 36 ms
16,804 KB
sample2.txt AC 36 ms
14,752 KB
sample3.txt AC 35 ms
14,760 KB
sample4.txt AC 36 ms
14,748 KB
test1.txt AC 39 ms
18,852 KB
test2.txt AC 36 ms
16,820 KB
test3.txt AC 37 ms
16,820 KB
test4.txt AC 37 ms
14,772 KB
test5.txt AC 39 ms
16,820 KB
test6.txt AC 36 ms
16,820 KB
test7.txt AC 37 ms
14,780 KB
test8.txt AC 37 ms
18,868 KB
test9.txt AC 37 ms
18,864 KB
test10.txt AC 36 ms
14,780 KB
test11.txt AC 38 ms
18,860 KB
test12.txt AC 37 ms
12,740 KB
test13.txt AC 39 ms
18,868 KB
test14.txt AC 40 ms
20,912 KB
test15.txt AC 41 ms
16,820 KB
test16.txt AC 40 ms
16,820 KB
test17.txt AC 40 ms
16,812 KB
test18.txt AC 40 ms
16,816 KB
test19.txt AC 41 ms
16,816 KB
test20.txt AC 41 ms
14,776 KB
test21.txt AC 36 ms
14,780 KB
test22.txt AC 37 ms
16,812 KB
test23.txt AC 36 ms
16,824 KB
test24.txt AC 38 ms
18,876 KB
test25.txt AC 37 ms
16,824 KB
test26.txt AC 37 ms
14,788 KB
test27.txt AC 37 ms
14,784 KB
test28.txt AC 38 ms
16,820 KB
test29.txt AC 39 ms
14,780 KB
test30.txt AC 41 ms
16,820 KB
テストケース一括ダウンロード
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.100.19.26603 (9d80dea7)
Copyright (C) Microsoft Corporation. All rights reserved.

ソースコード

diff #
using System;
using System.Collections.Generic;
using System.Linq;

namespace YukiCoderNo239
{
    class Program
    {
        static void Main()
        {
            int length = LIB.IO.R<int>();
            int output = -1;
            string[][] greeding = LIB.IO.R<string>(length, ' ');
            int okcount = 0;

            for (int i = 0; i < length; i++)
            {
                bool flag = true;
                for (int j = 0; j < length; j++)
                {
                    if (!((greeding[i][j] == "nyanpass") || (i == j)))
                    {
                        flag = false;
                        break;
                    }
                }
                if (flag == true)
                {
                    output = i + 1;
                    if (okcount >= 1)
                    {
                        LIB.IO.W(-1);
                        LIB.IO.WFLUSH();
                        return;
                    }
                    okcount++;
                }
            }
            for (int i = 0; i < length; i++)
            {
                bool flag = true;
                for (int j = 0; j < length; j++)
                {
                    if (!((greeding[j][i] == "nyanpass") || (i == j)))
                    {
                        flag = false;
                        break;
                    }
                }
                if (flag == true)
                {
                    if (okcount >= 1)
                    {
                        if (output != i + 1)
                        {
                            LIB.IO.W(-1);
                            LIB.IO.WFLUSH();
                            return;
                        }
                    }
                    output = i + 1;
                    okcount++;
                }
            }
            LIB.IO.W(output);
            LIB.IO.WFLUSH();
        }
    }
}
namespace LIB
{
    public class IO
    {
        private const int WMAX = 1000;
        private static string WSTRING = "";
        public static T R<T>()
        {
            return (T)(Convert.ChangeType(R(), typeof(T)));
        }
        public static T[] R<T>(char splitter = ' ')
        {
            return R().Split(splitter).Select(v => UTILITY.PARSE<T>(v)).ToArray();
        }
        public static T[] R<T>(int length)
        {

            T[] ret = new T[length];
            for (int i = 0; i < length; i++)
            {
                ret[i] = R<T>();
            }
            return ret;
        }
        public static T[][] R<T>(int length, char splitter = ' ')
        {
            T[][] ret = new T[length][];
            for (int i = 0; i < length; i++)
            {
                ret[i] = R<T>(splitter);
            }
            return ret;
        }
        private static string R()
        {
            return Console.ReadLine();
        }
        public static void W(object value, bool addLineFeed = true)
        {
            WSTRING += UTILITY.PARSE<string>(value);
            if (addLineFeed == true) { WSTRING += "\n"; }
            if (WSTRING.Count() >= WMAX) { WFLUSH(); }
        }
        public static void WFLUSH()
        {
            Console.Write(WSTRING);
            WSTRING = "";
        }
    }
    public class UTILITY
    {
        public static T PARSE<T>(object value)
        {
            return (T)(Convert.ChangeType(value, typeof(T)));
        }
    }
}
0