AtCoder Beginner Contest 002

Submission #7466181

Source codeソースコード

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace kp
{
    public class Program
    {
        //static long[,] cmb;
        static int MAX_INT = 1000000007;
        static void Main(string[] args)
        {
            //int N = Int32.Parse(Console.ReadLine());
            int[] input = Console.ReadLine().Split().Select(p => int.Parse(p)).ToArray();
            int N = input[0];
            int M = input[1];

            // 人間関係 iとjが知り合いの時1を入れる
            int[,] net = new int[N, N];

            for(int i=0; i<M; i++)
            {
              input = Console.ReadLine().Split().Select(p => int.Parse(p)).ToArray();
              int x = input[0];
              int y = input[1];
              net[x-1,y-1] = 1;
              net[y-1,x-1] = 1;
            }

            // 0派閥に入らない 1派閥に入るとして、派閥が成り立つかチェックする
            int ret = 0; //派閥の最大人数
            for(int bit=0; bit<Math.Pow(2,N); bit++)
            {
              string team = Convert.ToString(bit,2).PadLeft(N,'0');
              bool ok = true;
              for(int i=0; i<team.Length; i++)
              {
                // i番目の人が、それ以外の全ての1の人と知り合いかチェックする
                if(team[i] == '0')
                  continue;

                for(int j=0; j<team.Length; j++)
                {
                  if(team[j] == '1' && i != j)
                  {
                    if(net[i,j] != 1)
                    {
                      ok = false;
                      break;
                    }
                  }
                }
              }
//Console.WriteLine(ok + " " + team + " " + team.Replace("0", "").Length);
              if(ok)
              {
                int t = team.Replace("0", "").Length;
                if(t > ret)
                {
                  ret = t;
                }
              }
            }
            Console.WriteLine(ret + "");
        }

        static double dist(int x1, int y1, int x2, int y2)
        {
          int ret = (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2);
          return Math.Sqrt((double)ret);
        }
    }
}

Submission

Task問題 D - 派閥
User nameユーザ名 keikochan
Created time投稿日時
Language言語 C# (Mono 4.6.2.0)
Status状態 AC
Score得点 100
Source lengthソースコード長 2398 Byte
File nameファイル名
Exec time実行時間 30 ms
Memory usageメモリ使用量 13396 KB

Test case

Set

Set name Score得点 / Max score Cases
all 100 / 100 00_sample_01.txt,00_sample_02.txt,00_sample_03.txt,00_sample_04.txt,test_01.txt,test_02.txt,test_03.txt,test_04.txt,test_05.txt,test_06.txt,test_07.txt,test_08.txt,test_09.txt,test_10.txt,test_11.txt,test_12.txt,test_13.txt,test_14.txt,test_15.txt,test_16.txt,test_17.txt,test_18.txt,test_19.txt,test_20.txt,test_21.txt,test_22.txt,test_23.txt,test_24.txt,test_25.txt,test_26.txt,test_27.txt,test_28.txt,test_29.txt,test_30.txt,test_31.txt,test_32.txt,test_33.txt,test_34.txt,test_35.txt,test_36.txt,test_37.txt,test_38.txt,test_39.txt,test_40.txt,test_41.txt,test_42.txt,test_43.txt,test_44.txt,test_45.txt,test_46.txt,test_47.txt,test_48.txt,test_49.txt,test_50.txt,test_51.txt,test_52.txt,test_53.txt,test_54.txt,test_55.txt,test_56.txt,test_57.txt,test_58.txt,test_59.txt,test_60.txt,test_61.txt,test_62.txt,test_63.txt,test_64.txt,test_65.txt,test_66.txt,test_67.txt,test_68.txt,test_69.txt,test_70.txt

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
00_sample_01.txt AC 26 ms 13396 KB
00_sample_02.txt AC 24 ms 11220 KB
00_sample_03.txt AC 24 ms 11220 KB
00_sample_04.txt AC 26 ms 11220 KB
test_01.txt AC 24 ms 11220 KB
test_02.txt AC 23 ms 9300 KB
test_03.txt AC 24 ms 11220 KB
test_04.txt AC 24 ms 13268 KB
test_05.txt AC 24 ms 9172 KB
test_06.txt AC 24 ms 11220 KB
test_07.txt AC 24 ms 9172 KB
test_08.txt AC 25 ms 13268 KB
test_09.txt AC 25 ms 13268 KB
test_10.txt AC 25 ms 13268 KB
test_11.txt AC 25 ms 11220 KB
test_12.txt AC 27 ms 11348 KB
test_13.txt AC 24 ms 11220 KB
test_14.txt AC 24 ms 11220 KB
test_15.txt AC 24 ms 13268 KB
test_16.txt AC 25 ms 11220 KB
test_17.txt AC 25 ms 11220 KB
test_18.txt AC 25 ms 11220 KB
test_19.txt AC 27 ms 11220 KB
test_20.txt AC 28 ms 9300 KB
test_21.txt AC 25 ms 11220 KB
test_22.txt AC 27 ms 13268 KB
test_23.txt AC 26 ms 9172 KB
test_24.txt AC 29 ms 9172 KB
test_25.txt AC 24 ms 11220 KB
test_26.txt AC 26 ms 9172 KB
test_27.txt AC 24 ms 9172 KB
test_28.txt AC 23 ms 9172 KB
test_29.txt AC 24 ms 11220 KB
test_30.txt AC 25 ms 11220 KB
test_31.txt AC 27 ms 11220 KB
test_32.txt AC 26 ms 11348 KB
test_33.txt AC 28 ms 11220 KB
test_34.txt AC 26 ms 13396 KB
test_35.txt AC 29 ms 13396 KB
test_36.txt AC 29 ms 11220 KB
test_37.txt AC 26 ms 11220 KB
test_38.txt AC 29 ms 11220 KB
test_39.txt AC 27 ms 13268 KB
test_40.txt AC 26 ms 11348 KB
test_41.txt AC 29 ms 11220 KB
test_42.txt AC 30 ms 9172 KB
test_43.txt AC 26 ms 11348 KB
test_44.txt AC 27 ms 9172 KB
test_45.txt AC 27 ms 11348 KB
test_46.txt AC 28 ms 11220 KB
test_47.txt AC 28 ms 11220 KB
test_48.txt AC 29 ms 11348 KB
test_49.txt AC 27 ms 13268 KB
test_50.txt AC 26 ms 11220 KB
test_51.txt AC 26 ms 9172 KB
test_52.txt AC 26 ms 11220 KB
test_53.txt AC 26 ms 11220 KB
test_54.txt AC 26 ms 11220 KB
test_55.txt AC 27 ms 11220 KB
test_56.txt AC 26 ms 9300 KB
test_57.txt AC 27 ms 11220 KB
test_58.txt AC 27 ms 11220 KB
test_59.txt AC 28 ms 11348 KB
test_60.txt AC 29 ms 11220 KB
test_61.txt AC 29 ms 11348 KB
test_62.txt AC 24 ms 11220 KB
test_63.txt AC 26 ms 11220 KB
test_64.txt AC 26 ms 13268 KB
test_65.txt AC 27 ms 11348 KB
test_66.txt AC 27 ms 11220 KB
test_67.txt AC 27 ms 13268 KB
test_68.txt AC 26 ms 11348 KB
test_69.txt AC 27 ms 13268 KB
test_70.txt AC 26 ms 9172 KB