728x90

2019 연세대학교 컴퓨터과학과 프로그래밍 경진대회 A번 문제

 

17072번: 아스키 아트

위와 같이, 아스키 문자로 그린 그림을 ‘아스키 아트’ 라고 한다. 우리가 알고 있는 일반적인 그림 파일(.jpg, .png 등)들은 기본적으로 해상도에 맞게 픽셀 단위로 분할된 2차원 그리드에 대해 각 픽셀의 정보를 담는 방식으로 저장된다. 이 정보에는 여러 가지가 있으나, 그중 ‘R’, ‘G’, ‘B’ 값은 ‘Red’, ‘Green’, ‘Blue’의 3색이 각각 어느 정도 섞여 있는지를 나타내 주는 지표이며, 각 값은 0 이상 255 이하의 범위에 있

www.acmicpc.net

 

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

int main() {
	int n, m;
	cin >> n >> m;
	vector<vector<int>> li(n, vector<int>(m));
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < m; j++) {
			int r, g, b;
			cin >> r >> g >> b;
			li[i][j] = 2126 * r + 7152 * g + 722 * b;
		}
	}
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < m; j++) {
			if (li[i][j] < 510000)
				cout << (char)35;
			else if (li[i][j] < 1020000)
				cout << (char)111;
			else if (li[i][j] < 1530000)
				cout << (char)43;
			else if (li[i][j] < 2040000)
				cout << (char)45;
			else cout << (char)46;
		}
		cout << endl;
	}
	return 0;
}

 

728x90

+ Recent posts