⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1176.cpp

📁 杭电 acm部分代码 有兴趣的可以下载 谢谢
💻 CPP
字号:
#include <iostream>
using namespace std;

int down[100001][11];
int masn[100001][11];

int main()
{
	int i, n, x, t, tmax, result;
	while (scanf("%d", &n) == 1 && n)
	{
		memset(down, 0, sizeof(down));
		memset(masn, 0, sizeof(masn));
		
		for (tmax = 0, i = 0; i < n; i++)
		{
			scanf("%d%d", &x, &t);
			down[t][x]++;
			if (t > tmax)
			{
				tmax = t;
			}
		}
		result = 0;
		for (x = 4; x <= 6; x++)
		{
			masn[1][x] = down[1][x];
			if (masn[1][x] > result)
			{
				result = masn[1][x];
			}
		}
		for (t = 2; t <= tmax; t++)
		{
			for (x = 0; x <= 10; x++)
			{
				int add;
				if (x == 0)
				{
					add = masn[t - 1][x] > masn[t - 1][x + 1] ? masn[t - 1][x] : masn[t - 1][x + 1];
				}
				else if (x == 10)
				{
					add = masn[t - 1][x - 1] > masn[t - 1][x] ? masn[t - 1][x - 1] : masn[t - 1][x];		
				}
				else
				{
					int mm = masn[t - 1][x - 1];
					int bb = masn[t - 1][x] > masn[t - 1][x + 1] ? masn[t - 1][x] : masn[t - 1][x + 1];
					add = mm > bb ? mm : bb;
				}
				masn[t][x] = add + down[t][x];
				if (masn[t][x] > result)
				{
					result = masn[t][x];
				}
			}
		}
		printf("%d\n", result);
	}
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -