求大佬dbg
查看原帖
求大佬dbg
1329139
Mxc_ZeroLove楼主2025/6/21 16:09

样例过了,10分,除了一个点全部WA
本蒟蒻是fw QAQ

//B4263 [GESP202503 四级] 荒地开垦

#define _CRT_SECURE_NO_WARNINGS 
#include <iostream>
#include <string>
#include <fstream>
#include <stdio.h>
#include <vector>
#include <iomanip>

#ifdef _WIN32
#include <windows.h>
#endif

#ifdef _WIN32
void sleep(int uSleepTime)
{
	Sleep(uSleepTime);
}
#else
void sleep(int uSleepTime){}
#endif

using namespace std;

struct CPos;

std::vector<std::vector<int>> g_vecMap;
std::vector<CPos> g_vecUb;

int nX, nY;

bool IsInit(int X, int Y)
{
	if (g_vecMap[X][Y] == 1)
	{
		return false;
	}
	return (!g_vecMap[X - 1][Y]) && 
		(!g_vecMap[X + 1][Y]) && 
		(!g_vecMap[X][Y - 1]) && 
		(!g_vecMap[X][Y + 1]);
}

bool IsInMap(int X, int Y)
{
	return ((X >= 2) &&
		(X < (nX + 2)) &&
		(Y >= 2) &&
		(Y < (nY + 2)));
}

struct CPos 
{
	CPos();
	CPos(int Initx, int Inity)
	{
		X = Initx;
		Y = Inity;
	}

	int CaclNum();

	int X;
	int Y;
};

int CPos::CaclNum()
{
	int nCount = 1;
	g_vecMap[X][Y] = 0;
	if (IsInit(X - 1, Y)
		&&IsInMap(X - 1,Y))
		++nCount;
	if (IsInit(X + 1, Y)
		&& IsInMap(X + 1, Y))
		++nCount;
	if (IsInit(X, Y - 1)
		&& IsInMap(X, Y - 1))
		++nCount;
	if (IsInit(X, Y + 1)
		&& IsInMap(X, Y + 1))
		++nCount;

	g_vecMap[X][Y] = 1;
	return nCount;
}

int main()
{
	//freopen("F:\\便捷输入.txt", "r", stdin);
	int ans = 0, highest = 0;
	g_vecMap.resize(1010);
	for (int i = 0; i < 1010;++i)
	{
		g_vecMap[i].resize(1010);
	}
	std::cin >> nY >> nX;

	for (int y = 0; y < nY; ++y)
	{
		for (int x = 0; x < nX; ++x)
		{
			char ch;
			std::cin >> ch;
			if (ch == '.')
			{
				g_vecMap[x + 2][y + 2] = 0;
			}
			else
			{
				g_vecMap[x + 2][y + 2] = 1;
				g_vecUb.push_back(CPos(x + 2, y + 2));
			}
		}
	}
	for (int y = 0; y < nY; ++y)
	{
		for (int x = 0; x < nX; ++x)
		{
			if (IsInit(x + 2, y + 2))
			{
				++ans;
			}
		}
	}

	for (std::vector<CPos>::size_type i = 0; i < g_vecUb.size(); ++i)
	{
		int tmp = g_vecUb[i].CaclNum();
		if (tmp>highest)
		{
			highest = tmp;
		}
	}
	ans += highest;

	std::cout << ans;


	return 0;
}
2025/6/21 16:09
加载中...