Submission
Status:
PPPPPPPPPPPPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: KanemiyaKana
Problemset: Abacus
Language: cpp
Time: 0.002 second
Submitted On: 2026-09-21 17:38:51
#include <iostream>
#include <string>
using namespace std;
string *abacus(int n)
{
string *abacus_array = new string[10];
abacus_array[0] = "*";
abacus_array[3] = "-";
int i = 1;
if (n >= 5)
{
abacus_array[i] = " ";
abacus_array[i + 1] = "*";
i += 3;
n -= 5;
int temp = 4 - n;
if (temp == 0)
{
while (i <= 7)
{
abacus_array[i] = "*";
i++;
}
abacus_array[8] = " ";
abacus_array[9] = "*";
}
if (temp == 1)
{
while (i <= 6)
{
abacus_array[i] = "*";
i++;
}
abacus_array[7] = " ";
abacus_array[8] = "*";
abacus_array[9] = "*";
}
if (temp == 2)
{
while (i <= 5)
{
abacus_array[i] = "*";
i++;
}
abacus_array[6] = " ";
abacus_array[7] = "*";
abacus_array[8] = "*";
abacus_array[9] = "*";
}
if (temp == 3)
{
while (i <= 4)
{
abacus_array[i] = "*";
i++;
}
abacus_array[5] = " ";
abacus_array[6] = "*";
abacus_array[7] = "*";
abacus_array[8] = "*";
abacus_array[9] = "*";
}
if (temp == 4)
{
abacus_array[4] = " ";
i += 1;
while (i <= 9)
{
abacus_array[i] = "*";
i++;
}
}
}
else if (n == 0)
{
abacus_array[1] = "*";
abacus_array[2] = " ";
abacus_array[4] = " ";
abacus_array[5] = "*";
abacus_array[6] = "*";
abacus_array[7] = "*";
abacus_array[8] = "*";
abacus_array[9] = "*";
}
else
{
abacus_array[i] = "*";
abacus_array[i + 1] = " ";
i += 3;
if (n == 4)
{
while (i <= 7)
{
abacus_array[i] = "*";
i++;
}
abacus_array[8] = " ";
abacus_array[9] = "*";
}
if (n == 3)
{
while (i <= 6)
{
abacus_array[i] = "*";
i++;
}
abacus_array[7] = " ";
abacus_array[8] = "*";
abacus_array[9] = "*";
}
if (n == 2)
{
while (i <= 5)
{
abacus_array[i] = "*";
i++;
}
abacus_array[6] = " ";
abacus_array[7] = "*";
abacus_array[8] = "*";
abacus_array[9] = "*";
}
if (n == 1)
{
while (i <= 4)
{
abacus_array[i] = "*";
i++;
}
abacus_array[5] = " ";
abacus_array[6] = "*";
abacus_array[7] = "*";
abacus_array[8] = "*";
abacus_array[9] = "*";
}
if (n == 0)
{
abacus_array[4] = " ";
i += 1;
while (i <= 9)
{
abacus_array[i] = "*";
i++;
}
}
}
return abacus_array;
}
int main()
{
string input;
cin >> input;
for (char c : input)
{
if (!isdigit(c))
{
return 0;
}
}
int number = stoi(input);
if (0 > number || number > 99999999)
{
return 0;
}
string numberstring = to_string(number);
int length = numberstring.length();
string set = "";
if (length < 8)
{
int m = 0;
while (m < 8 - length)
{
set += "0 ";
m++;
}
}
for (int i = 0; i < length; i++)
{
set += numberstring[i];
set += " ";
}
string *abacus_arrayC1 = abacus(set[0] - '0');
string *abacus_arrayC2 = abacus(set[2] - '0');
string *abacus_arrayC3 = abacus(set[4] - '0');
string *abacus_arrayC4 = abacus(set[6] - '0');
string *abacus_arrayC5 = abacus(set[8] - '0');
string *abacus_arrayC6 = abacus(set[10] - '0');
string *abacus_arrayC7 = abacus(set[12] - '0');
string *abacus_arrayC8 = abacus(set[14] - '0');
for (int i = 0; i < 10; i++)
{
if (i == 3)
{
cout << "-----------------";
}
else
{
cout << abacus_arrayC1[i] << " " << abacus_arrayC2[i] << " " << abacus_arrayC3[i] << " " << abacus_arrayC4[i] << " " << abacus_arrayC5[i] << " " << abacus_arrayC6[i] << " " << abacus_arrayC7[i] << " " << abacus_arrayC8[i];
}
cout << endl;
}
}