SRM 406 DIV2 by ins7itia

HappyCells

스트링 벡터가 입력으로 주어졌을때, 문자는 'X'이거나 '.'으로 들어온다. ('.'을 비어있는 셀이라고 하자)
'.'의 경우, 주변 셀들의 상태에 따라서 세가지 Happy셀임을 정의하는데 이는 다음과 같다:

{ "XXX",
"X.X",
"XXX }

 = happy-1 (주변에 빈 셀이 없을때, 이는 {"."} 와 같이 주변 셀이 없을 때에도 성립한다)


{ "XXX",
"..X",
"XXX" }

= happy-2 (orthogonal한 위치의 셀이 비어있을 때, 즉, 빈 셀로부터 상, 하, 좌, 우에 빈 셀이 있는 경우이다)


{ ".XX",
"X.X",
"XXX" }

= happy-3 (diagonal한 위치의 셀이 비어있을 때, 즉, 빈 셀로부터 좌상, 우상, 좌하, 우하에 빈 셀이 있는 경우이다)


빈 셀이 있다면 경계값을 비교하면서 주변 셀들의 상태를 체크하는 것으로 해결했다. happy-2와 happy-3 상태가 아니라면 happy-1 상태이고, 만일 happy-2와 happy-3 상태를 모두 만족한다면 이는 happy하지 않다.


  1 class HappyCells
  2 {
  3 public:
  4     vector <int> getHappy(vector <string> grid)
  5     {
  6         int i, j;
  7         vector <int> score(3);
  8         int happy2 = 0;
  9         int happy3 = 0;
 10
 11
 12         for(i = 0; i < grid.size(); ++i)
 13         {
 14             for(j = 0; j < grid[i].size(); ++j)
 15             {
 16                 happy2 = 0;
 17                 happy3 = 0;
 18                 if(grid[i][j] == '.')
 19                 {
 20                     if((i > 0 && j > 0 && 
 21                         grid[i-1][j-1] == '.') ||
 22                         (i > 0 && j < grid[i].size()-1 && 
 23                         grid[i-1][j+1] == '.') ||
 24                         (i < grid.size()-1 && j > 0 && 
 25                         grid[i+1][j-1] == '.') ||
 26                         (i < grid.size()-1 && j < grid[i].size()-1 && 
 27                         grid[i+1][j+1] == '.')
 28                         )
 29                         happy2 = 1;
 30
 31                     if((i > 0 && grid[i-1][j] == '.') ||
 32                         (j > 0 && grid[i][j-1] == '.') ||
 33                         (i < grid.size()-1 && grid[i+1][j] == '.') ||
 34                         (j < grid[i].size()-1 && grid[i][j+1] == '.'))
 35                         happy3 = 1;
 36
 37                     if(happy2 && happy3) continue;
 38                     else if(happy2) ++score[1];
 39                     else if(happy3) ++score[2];
 40                     else ++score[0];
 41                 }
 42             }
 43         }
 44
 45         return score;
 46     }
 47 };

Particle? Particle!! by ins7itia

프로세싱으로 만든 스케치들을 보면서 가장 흥미가 돋는쪽이 particle부분이었다. 특히, flight404의 작품들은 놀랍고도 아름답다. 음역대에 맞추어 반응하는 파티클들이 하나하나 경로를 타고 이동하는 모습들을 보면 누구나 그 매력에 푹 빠지지 않으랴!


flight404의 Solar

이외에도 flocking code라 하여 털이 날리는 듯한 모습의 비주얼연출을 보이기도 하는데, 단지 구현이 좋은 것 만이 아니라 보여주는 방식도 아름다운 것 같다. 아마도 나는 이런 복잡하고 화려한 영상들을 좋아하는 것 같다.


flight404의 Ink Trails


우선 파티클쪽 부터 어떻게 도는지 예제들과 설명들을 가지고 정리를 해봐야 겠다.

IGN 덕들의 스카이림 트레일러 분석 by ins7itia

난 엘더스크롤을 좋아하는 편이다. 아, 매우 좋아하는 편이라고 생각했었다가 최근 기준을 다시 잡아야 할 필요성을 느꼈기 때문에 '그냥' 좋아하는 편으로 바꿨다. 그래, 이 세상엔 매니아들이 너무 많다.

모로윈드도, 오블리비온도 좋다. 엔진에 대한 비탄을 할 때가 있어도, 좋은 게임이라는 대에는 의심의 여지가 없다. 그래서 이번에 나올 스카이림도 기대를 하지 않을 수 없다. 11년 11월 11일이라, 근사한 릴리즈 날짜이다(사실 더 일찍 발매할 수 있는데 안하는 거면 화낼거같아..).

어쨌든, 베데스다는 하나의 트레일러를 내 놓았고, 이는 예고편 비스무리하지만 상당히 많은 정보들을 함축적으로 보여준다. 물론 일반적인 의미에서 나같은 평민들은 그냥 '아~ 그래 새로운 무대에 새로운 무장과 추가적인 모션들이 있는 것 같군!' 하고 넘어가기 마련이지만, 여기 IGN의 겜덕들은 나름의 프라이드를 가지고 트레일러를 왔다리 갔다리 돌려가며 전문가다운 분석을 한다. 여느 매니아들과 비슷하게 말이다.


실로 그리 길지 않은 트레일러를 통해서, 이 사람들은 온갖 정보들을 캐치해낸다. 무기가 바뀌고, 장소나 무대가 어떻게 될런지, 주요 캐릭터는 어떻게 되며 어떤 형태의 몬스터가 나올 것인지, 우려하던 모션과 타격감이 어떻게 바뀌었으며 갖가지 피니싱 모션으로 보이는 동작들에 대한 것들 까지. 특히, 지나가던 강가에서 넌룻(Nirnroot)을 발견하는 이들의 센스에는 감탄사가 나온다. 물론 부럽다는 얘긴 아니고.

어쨌든 엘더 스크롤즈 시리즈가 나올 때 마다 두근거리는 기대같은게 있긴 하지만, 올해부터는 특히나 내게있어 가혹한 한 해가 될 것이 분명해 보이기에.. 이를 즐길 수 있을지는 의문이다. 사실, 저녀석을 돌릴 데스크탑이 없다는 게 가장 슬픈 일이지만서도.

1 2 3 4 5 6 7 8 9 10 다음