pku1840.cpp

来自「这是ACM 方面的资料 是PKU的 北京大学的出来的」· C++ 代码 · 共 64 行

CPP
64
字号
#include <stdio.h>
#include <math.h>
#include <map>
using namespace std;

map <int, int> M;
int V[101];
int P[5];
int cnt;
int ans[5];

void pre()
{
	int i;
	for (i = 0; i < 50; i++)
	{
		V[i] = (i - 50) * (i - 50) * (i - 50);
		V[i + 50] = (i + 1) * (i + 1) * (i + 1);
	}	
}

void Solve()
{
	int i, j, k, cnt;
	int tmp;
	M.clear();
	for (i = 0; i < 5; i++)
		scanf("%d", &P[i]);
	for (i = 0; i < 100; i++)
	{
		for (j = 0; j < 100; j++)
		{
			tmp = P[0] * V[i] + P[1] * V[j];
			tmp = -tmp;
			if (M.find(tmp) == M.end())
				M[tmp] = 1;
			else
				M[tmp]++;
		}
	}
	cnt = 0;
	for (i = 0; i < 100; i++)
	{
		for (j = 0; j < 100; j++)
		{
			for (k = 0; k < 100; k++)
			{
				tmp = P[2] * V[k] + P[3] * V[i] + P[4] * V[j];
				if (M.find(tmp) != M.end())
					cnt += M[tmp];
			}
		}
	}
	printf("%d\n", cnt);
}

int main()
{
	int i;
	pre();
	Solve();
}

⌨️ 快捷键说明

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