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

📄 1930.cpp

📁 杭电 acm部分代码 有兴趣的可以下载 谢谢
💻 CPP
字号:
#include <cstdio>
#include <iostream>
using namespace std;
string pp;
char letter[30];
int main()
{
	__int64 test, n, i, a[5], b[5], c[5], d[5];
	for (i = 1; i < 27; i++)
	{
		letter[i] = i + 'A' - 1;
	}
	letter[27] = ' ';
	scanf("%I64d", &test);
	while (test--)
	{
		scanf("%I64d", &n);
		scanf("%I64d %I64d %I64d %I64d", &a[1], &b[1], &c[1], &d[1]);

		__int64 m = a[1] * b[1] * c[1] * d[1];
		__int64 x = m / a[1];

		a[2] = x;
		while (a[2] % a[1] != 1)
		{
			a[2] += x;
		}

		x = m / b[1];
		b[2] = x;
		while (b[2] % b[1] != 1)
		{
			b[2] += x;
		}

		x = m / c[1];
		c[2] = x;
		while (c[2] % c[1] != 1)
		{
			c[2] += x;
		}

		x = m / d[1];
		d[2] = x;
		while (d[2] % d[1] != 1)
		{
			d[2] += x;
		}

		pp.erase();

		while (n--)
		{
			__int64 num, temp, max, mem;
			char aa, bb, cc;
			scanf("%I64d", &num);
			temp = m;
			d[3] = num % 100;
			num /= 100;
			c[3] = num % 100;
			num /= 100;
			b[3] = num % 100;
			num /= 100;
			a[3] = num;
			max = a[2] * a[3] + b[2] * b[3] + c[2] * c[3] + d[2] * d[3];

			while (max > 0)
			{
				mem = max;
				max -= temp;
			}
			
			max = mem;
			aa = max % 100;
			max /= 100;
			bb = max % 100;
			max /= 100;
			cc = max;

			pp += letter[cc];
			pp += letter[bb];
			pp += letter[aa];
		}

		string::reverse_iterator point;
		for (point = pp.rbegin(); point != pp.rend(); point++)
		{
			if (*point != ' ')
			{
				break;
			}
			*point = '\0';
		}
		
		printf("%s\n", pp.data());
	}
	return 0;
}

⌨️ 快捷键说明

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