[softeer/C++] [21년 재직자 대회 예선] 전광판

mani·2023년 4월 8일
0

softeer

목록 보기
10/11

[21년 재직자 대회 예선] 전광판

#include<iostream>
#include<vector>
#include<cstring>
using namespace std;

int mapA[5][7];
int mapB[5][7];
int def[11][7] = {
	{ 0, 1, 1, 1, 1, 1, 1 },
	{ 0,0,0,1,1,0,0 },
	{ 1,0,1,1,0,1,1 },
	{ 1,0,1,1,1,1,0 },
	{ 1,1,0,1,1,0,0 },
	{ 1,1,1,0,1,1,0 },
	{ 1,1,1,0,1,1,1 },
	{ 0,1,1,1,1,0,0},
	{ 1,1,1,1,1,1,1 },
	{ 1,1,1,1,1,1,0 },
	{ 0,0,0,0,0,0,0 }
};

void func(int a, int map[5][7]) {
	int div = a;
	int mod;
	for (int i = 0; i < 5; i++) {
		mod = div % 10;
		div = div / 10;
		memcpy(&map[i][0], &def[mod][0], sizeof(def[0]));
		
		if (div == 0) {
			for (int j = i + 1; j < 5; j++) {
				memcpy(&map[j][0], &def[10][0], sizeof(def[0]));
			}
			break;
		}
	}
	
}

int main(int argc, char** argv)
{
	int t, a, b;
	cin >> t;
	for (int i = 0; i < t; i++) {
		cin >> a >> b;
		func(a, mapA);
		func(b, mapB);
		int num=0;
		for (int i = 0; i < 5; i++) {
			for (int j = 0; j < 7; j++) {
				if(mapA[i][j]^mapB[i][j])
					num++;
			}
		}
		cout <<num<<"\n";
	}
	
	return 0;
}
profile
log

0개의 댓글