56tps球跳,玄关
查看原帖
56tps球跳,玄关
923403
FallingFYC_楼主2023/6/11 22:35
#include <bits/stdc++.h>
#define int long
using namespace std;
const string num[11] = {"11111100011000110001100011000111111" ,
				  		"00001000010000100001000010000100001" ,
				  		"11111000010000111111100001000011111" ,
				 		"11111000010000111111000010000111111" ,
				  		"10001100011000111111000010000100001" ,
				  		"11111100001000011111000010000111111" ,
				  		"11111100001000011111100011000111111" ,
				  		"11111000010000100001000010000100001" ,
				  		"11111100011000111111100011000111111" ,
				  		"11111100011000111111000010000111111" ,
				  		"00000001000010011111001000010000000"};
string s , e[5005];
int len , add_pos , sum , a , b , ans;

void out()
{
	int t = a + b , d[105] , l = 0;
	while (t > 0)
	{
		d[++l] = t % 10;
		t /= 10;
	}
	
	for (int i = 0 ; i < 7 ; i++)
	{
		for (int j = l ; j >= 1 ; j--)
		{
			for (int k = i * 5 ; k < i * 5 + 5 ; k++)
				cout << (!(num[d[j]][k] - '0') ? '.' : 'x');
			if (j > 1) cout << '.';
		}
		cout << "\n";
	}
	return;
}

signed main()
{
	for (int i = 0 ; i < 7 ; i++)
	{
		getline(cin , s);
		if (!i) len = s.length();
		for (int i = 0 ; i < len ; i += 5)
			for (int j = i + i / 5 ; j < i + i / 5 + 5 ; j++)
			{
				e[i / 5 + 1] += (s[j] == '.' ? '0' : '1');
				if (!i) ++sum;
			}
	}
	
	for (int i = 1 ; i <= sum ; i++)
		if (e[i] == num[10]) {add_pos = i; break;}
	
	for (int i = 1 ; i < add_pos ; i++)
		for (int j = 0 ; j < 9 ; j++)
			if (e[i] == num[j]) {a = a * 10 + j; break;}

	for (int i = add_pos + 1 ; i <= sum ; i++)
		for (int j = 0 ; j <= 9 ; j++)
			if (e[i] == num[j]) {b = b * 10 + j; break;}
	
	out();
	return 0;
}

球跳!!!

2023/6/11 22:35
加载中...