#include <stdio.h>
#define WIDTH 7
#define HEIGHT 7
int map[HEIGHT * WIDTH];
#define min(a, b) ((a) < (b)? (a) : (b))
#define max(a, b) ((a) > (b)? (a) : (b))
void bomb_at(int x, int y, int power)
{
int from, to;
from = max(0, x - power);
to = min(HEIGHT - 1, x + power);
for(int i = from; i <= to; ++i) map[y * WIDTH + i] = 1;
from = max(0, y - power);
to = min(HEIGHT - 1, y + power);
for(int i = from; i <= to; ++i) map[i * WIDTH + x] = 1;
}
int safe_count()
{
int count = WIDTH * HEIGHT;
for(int i = 0; i < WIDTH * HEIGHT; ++i) count -= map[i];
return count;
}
int main()
{
for(int power = 1; power < 4;)
{
char c = getchar();
if (c == ',') power++;
else if (c == '\\n') break;
else bomb_at(c - '0', getchar() - '0', power);
}
printf("%d\\n", safe_count());
return 0;
}
bomb_at(c - '0', getchar() - '0', power); 여기서 getchar() - '0'은 어떻게 작동하는지 궁금해요
'0' 문자가 들어오면 '0' 을 빼주니까 0 이 되지. ('0' 은 실제론 십진수 48, 16진수 0x30 임)
'9' 문자가 들어오면 '0' 을 빼주니까 9 가 되지. 뭐 그런거지.
그럼 저 함수 실행되면 문자를 받기 위해서 커맨드 라인에서 대기하는거 맞나요
이 프로그램 만든 목적이 뭘까요 무슨 용도인지 파악이 안되네요ㅜ-ㅜ
ㅇㅇ 대기. 아래 삼성문제 참고.
for 문 if 문 밖에 안썼는데 뭐가 쩐다는거지 = _ =
자바도 좀 올려 봐
결장자 해외레어자료 브랜드신상 손흥민뉴스 스포츠네이버카페 *바이스포츠*