ccf消除类游戏(c#)

using System.Collections;
using System.Text.RegularExpressions;

namespace class20240724
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string line = Console.ReadLine();
            string[] arr = line.Split();
            int row = int.Parse(arr[0]);
            int col = int.Parse(arr[1]);
            int[,] board = new int[row,col];

            for(int i = 0; i < row; i++)
            {
                string info = Console.ReadLine();
                string[] row_arr = info.Split();
                int[] num_arr = Array.ConvertAll(row_arr, int.Parse);
                for(int j = 0; j < num_arr.Length; j++)
                {
                    board[i, j] = num_arr[j];
                }
            }
            int[,] flagArr = new int[row, col];
            for(int i = 0; i < row; i++)
            {
                for(int j=0;j < col; j++)
                {
                    int vertical_count = 0;
                    if (i - 1 >= 0 && board[i,j] == board[i - 1, j])
                    {
                        vertical_count++;
                        if (i - 2 >= 0 && board[i, j] == board[i - 2, j])
                        {
                            vertical_count++;

                        }
                    }
                    if (i + 1 < row && board[i, j] == board[i + 1, j])
                    {
                        vertical_count++;
                        if (i + 2 < row && board[i, j] == board[i + 2, j])
                        {
                            vertical_count++;

                        }
                    }
                    if (vertical_count >= 2)
                    {
                        flagArr[i, j] = 1;
                    }

                    int horizal_count = 0;
                    if (j - 1 >= 0 && board[i, j] == board[i, j - 1])
                    {
                        horizal_count++;
                        if (j - 2 >= 0 && board[i, j] == board[i, j - 2])
                        {
                            horizal_count++;
                        }
                    }

                    if (j + 1 < col && board[i, j] == board[i, j + 1])
                    {
                        horizal_count++;
                        if (j + 2 < col && board[i, j] == board[i, j + 2])
                        {
                            horizal_count++;
                        }
                    }
                    if (horizal_count >= 2)
                    {
                        flagArr[i, j] = 1;
                    }
                }
            }

            for (int i = 0; i < row; i++)
            {
                for (int j = 0; j < col; j++)
                {
                    if (flagArr[i,j] == 1)
                    {
                        Console.Write("0 ");
                    }
                    else
                    {
                        Console.Write(board[i, j] + " ");
                    }
                }
                Console.WriteLine();
            }

        }
    }
}

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值