[BOJ] 17072번: 아스키 아트

김주원·2020년 8월 6일
0
post-thumbnail

문제 링크

https://www.acmicpc.net/problem/17072

코드

C++

#include <iostream>

using namespace std;

int N, M;
char result[400][400];

int getIntensity(int R, int G, int B) {
	return 2126 * R + 7152 * G + 722 * B;
}

int main() {
	scanf("%d %d", &N, &M);

	for (int i = 0; i < N; i++)
		for (int j = 0; j < M; j++) {
			int R, G, B;
			scanf("%d %d %d", &R, &G, &B);
			
			int intensity = getIntensity(R, G, B);
			if (intensity >= 0 && intensity < 510000)
				result[i][j] = '#';
			else if (intensity >= 510000 && intensity < 1020000)
				result[i][j] = 'o';
			else if (intensity >= 1020000 && intensity < 1530000)
				result[i][j] = '+';
			else if (intensity >= 1530000 && intensity < 2040000)
				result[i][j] = '-';
			else
				result[i][j] = '.';
		}

	for (int i = 0; i < N; i++) {
		for (int j = 0; j < M; j++)
			printf("%c", result[i][j]);

		printf("\n");
	}

	return 0;
}
profile
자기계발 블로그

0개의 댓글