コード例 #1
0
ファイル: Program.cs プロジェクト: Davor097/STEMgames
        private static void ProcessJob()
        {
            string           response         = Manager.SendGETRequest(UriBase, Authorization);
            TestCaseResponse testCaseResponse = JsonConvert.DeserializeObject <TestCaseResponse>(response);

            string[] lines = testCaseResponse.input.Split('\n').ToArray();

            int n = Convert.ToInt32(lines[0]);

            Matrix = new int[n, n];

            for (int i = 1; i <= n; i++)
            {
                int[] line = lines[i].Split(' ').Select(int.Parse).ToArray();
                for (int j = 0; j < line.Length; j++)
                {
                    Matrix[i, j] = line[j];
                }
            }

            MatrixResult result = new MatrixResult();

            for (int q = n; q >= 1; q--)
            {
                for (int z = n; z >= 1; z--)
                {
                    for (int i = 0; i < n - q; i++)
                    {
                        for (int j = 0; j < n - z; j++)
                        {
                            if (q * z >= result.P)
                            {
                                MatrixResult current = CalculateSum(i, j, q, z);

                                if (current.Sum > result.Sum)
                                {
                                    result = current;
                                }
                            }
                            else
                            {
                                break;
                            }
                        }
                    }
                }
            }

            var content = result.Sum.ToString();

            response = Manager.SendPOSTRequest($"{UriBase}/{testCaseResponse.submission_id}", content, Authorization);
            SubmitResponse submitResponse = JsonConvert.DeserializeObject <SubmitResponse>(response);

            Console.WriteLine($"{submitResponse.status} - {submitResponse.points_won}");
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: Davor097/STEMgames
        private static MatrixResult CalculateSum(int x, int y, int q, int z)
        {
            MatrixResult result = new MatrixResult();

            for (int i = x; i < x + q; i++)
            {
                for (int j = y; j < y + z; j++)
                {
                    if (Matrix[i, j] % 2 == 1)
                    {
                        return(new MatrixResult());
                    }
                    result.Sum += Matrix[i, j];
                }
            }
            return(result);
        }