Submission

Status:

PPPPPPPPPPPPPPPPPxxx

Subtask/Task Score:

85/100

Score: 85

User: Hxluk.ka

Problemset: Abacus

Language: c

Time: 0.002 second

Submitted On: 2025-10-07 21:22:50

#include <stdio.h>
#include <string.h>

int main() {
	int a;
	scanf("%d", &a);
	if (a < 0 || a > 9999999) return -1;

	int abacus[8][2];
	memset(abacus, 0, sizeof(abacus));
	for (int i = 0; a; i++, a/=10) {
		int digit = a%10;
		
		if (digit >= 5) {
			abacus[7-i][1] = 1;
			abacus[7-i][0] = digit-5;
		} else {
			abacus[7-i][0] = digit;
		}
	}

	printf("* * * * * * * *\n");
	for (int i = 0; i < 8; i++) {
		if (abacus[i][1]) {
			printf("  ");
		} else {
			printf("* ");
		}
	}
	printf("\n");
	for (int i = 0; i < 8; i++) {
		if (abacus[i][1]) {
			printf("* ");
		} else {
			printf("  ");
		}
	}
	printf("\n-----------------\n");
	for (int i = 0; i < 8; i++) {
		if (abacus[i][0]) {
			printf("* ");
		} else {
			printf("  ");
		}
	}
	printf("\n");
	for (int i = 0; i < 4; i++) {
		for (int j = 0; j < 8; j++) {
			if (abacus[j][0] == i+1) {
				printf("  ");
			} else {
				printf("* ");
			}
		}
		printf("\n");
	}
	printf("* * * * * * * *");
	return 0;
}