시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 256 MB36322293186965.281%

문제

얼마전에 나는 불면증에 시달렸지... 천장이 뚫어져라 뜬 눈으로 밤을 지새우곤 했었지.  그러던 어느 날 내 친구 광민이에게 나의 불면증에 대해 말했더니 이렇게 말하더군. "양이라도 세봐!"  정말 도움이 안되는 친구라고 생각했었지. 그런데 막상 또 다시 잠을 청해보려고 침대에 눕고 보니 양을 세고 있더군... 그런데 양을 세다보니 이걸로 프로그램을 하나 짜볼 수 있겠단 생각이 들더군 후후후... 그렇게 나는 침대에서 일어나 컴퓨터 앞으로 향했지.

양을 # 으로 나타내고 . 으로 풀을 표현하는 거야. 서로 다른 # 두 개 이상이 붙어있다면 한 무리의 양들이 있는거지. 그래... 좋았어..! 이걸로 초원에서 풀을 뜯고 있는 양들을 그리드로 표현해 보는거야!

그렇게 나는 양들을 그리드로 표현하고 나니까 갑자기 졸렵기 시작했어. 하지만 난 너무 궁금했지. 내가 표현한 그 그리드 위에 몇 개의 양무리가 있었는지! 그래서 나는 동이 트기 전까지 이 프로그램을 작성하고 장렬히 전사했지. 다음날 내가 잠에서 깨어났을 때 내 모니터에는 몇 개의 양무리가 있었는지 출력되어 있었지.

입력

첫 번째 줄은 테스트 케이스의 수를 나타나는 T를 입력받는다.

이후 각 테스트 케이스의 첫 번째 줄에서는 H,W 를 입력받는다. H는 그리드의 높이이고, W는 그리드의 너비이다. 이후 그리드의 높이 H 에 걸쳐서 W개의 문자로 이루어진 문자열 하나를 입력받는다. 

  • 0 < T ≤ 100
  • 0 < H, W ≤ 100

출력

각 테스트 케이스마다, 양의 몇 개의 무리로 이루어져 있었는지를 한 줄에 출력하면 된다. 

예제 입력 1

2
4 4
#.#.
.#.#
#.##
.#.#
3 5
###.#
..#..
#.###

예제 출력 1

6
3
W3sicHJvYmxlbV9pZCI6IjExMTIzIiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHVjNTkxIFx1ZDU1Y1x1YjljOFx1YjlhYy4uLiBcdWM1OTEgXHViNDUwXHViOWM4XHViOWFjLi4uIiwiZGVzY3JpcHRpb24iOiI8cD5cdWM1YmNcdWI5YzhcdWM4MDRcdWM1ZDAgXHViMDk4XHViMjk0IFx1YmQ4OFx1YmE3NFx1Yzk5ZFx1YzVkMCBcdWMyZGNcdWIyZWNcdWI4MzhcdWM5YzAuLi4gXHVjYzljXHVjN2E1XHVjNzc0IFx1YjZhYlx1YzViNFx1YzgzOFx1Yjc3YyBcdWI3MmMgXHViMjA4XHVjNzNjXHViODVjIFx1YmMyNFx1Yzc0NCBcdWM5YzBcdWMwYzhcdWM2YjBcdWFjZTQgXHVkNTg4XHVjNWM4XHVjOWMwLiAmbmJzcDtcdWFkZjhcdWI3ZWNcdWIzNTggXHVjNWI0XHViMjkwIFx1YjBhMCBcdWIwYjQgXHVjZTVjXHVhZDZjIFx1YWQxMVx1YmJmY1x1Yzc3NFx1YzVkMFx1YWM4YyBcdWIwOThcdWM3NTggXHViZDg4XHViYTc0XHVjOTlkXHVjNWQwIFx1YjMwMFx1ZDU3NCBcdWI5ZDBcdWQ1ODhcdWIzNTRcdWIyYzggXHVjNzc0XHViODA3XHVhYzhjIFx1YjlkMFx1ZDU1OFx1YjM1NFx1YWQ3MC4gJnF1b3Q7XHVjNTkxXHVjNzc0XHViNzdjXHViM2M0IFx1YzEzOFx1YmQxMCEmcXVvdDsgJm5ic3A7XHVjODE1XHViOWQwIFx1YjNjNFx1YzZjMFx1Yzc3NCBcdWM1NDhcdWI0MThcdWIyOTQgXHVjZTVjXHVhZDZjXHViNzdjXHVhY2UwIFx1YzBkZFx1YWMwMVx1ZDU4OFx1YzVjOFx1YzljMC4gXHVhZGY4XHViN2YwXHViMzcwIFx1YjljOVx1YzBjMSBcdWI2MTAgXHViMmU0XHVjMmRjIFx1YzdhMFx1Yzc0NCBcdWNjYWRcdWQ1NzRcdWJjZjRcdWI4MjRcdWFjZTAgXHVjZTY4XHViMzAwXHVjNWQwIFx1YjIxNVx1YWNlMCBcdWJjZjRcdWIyYzggXHVjNTkxXHVjNzQ0IFx1YzEzOFx1YWNlMCBcdWM3ODhcdWIzNTRcdWFkNzAuLi4gXHVhZGY4XHViN2YwXHViMzcwIFx1YzU5MVx1Yzc0NCBcdWMxMzhcdWIyZTRcdWJjZjRcdWIyYzggXHVjNzc0XHVhYzc4XHViODVjIFx1ZDUwNFx1Yjg1Y1x1YWRmOFx1YjdhOFx1Yzc0NCBcdWQ1NThcdWIwOTggXHVjOWRjXHViY2ZjIFx1YzIxOCBcdWM3ODhcdWFjYTBcdWIyZTggXHVjMGRkXHVhYzAxXHVjNzc0IFx1YjRlNFx1YjM1NFx1YWQ3MCBcdWQ2YzRcdWQ2YzRcdWQ2YzQuLi4gXHVhZGY4XHViODA3XHVhYzhjIFx1YjA5OFx1YjI5NCBcdWNlNjhcdWIzMDBcdWM1ZDBcdWMxMWMgXHVjNzdjXHVjNWI0XHViMDk4IFx1Y2VmNFx1ZDRlOFx1ZDEzMCBcdWM1NWVcdWM3M2NcdWI4NWMgXHVkNWE1XHVkNTg4XHVjOWMwLjxcL3A+XHJcblxyXG48cD48ZW0+XHVjNTkxXHVjNzQ0ICMgXHVjNzNjXHViODVjIFx1YjA5OFx1ZDBjMFx1YjBiNFx1YWNlMCAuIFx1YzczY1x1Yjg1YyBcdWQ0ODBcdWM3NDQgXHVkNDVjXHVkNjA0XHVkNTU4XHViMjk0IFx1YWM3MFx1YzU3Yy4gXHVjMTFjXHViODVjIFx1YjJlNFx1Yjk3OCAjIFx1YjQ1MCBcdWFjMWMgXHVjNzc0XHVjMGMxXHVjNzc0IFx1YmQ5OVx1YzViNFx1Yzc4OFx1YjJlNFx1YmE3NCBcdWQ1NWMgXHViYjM0XHViOWFjXHVjNzU4IFx1YzU5MVx1YjRlNFx1Yzc3NCBcdWM3ODhcdWIyOTRcdWFjNzBcdWM5YzAuIFx1YWRmOFx1Yjc5OC4uLiBcdWM4OGJcdWM1NThcdWM1YjQuLiEgXHVjNzc0XHVhYzc4XHViODVjIFx1Y2QwOFx1YzZkMFx1YzVkMFx1YzExYyBcdWQ0ODBcdWM3NDQgXHViNzJmXHVhY2UwIFx1Yzc4OFx1YjI5NCBcdWM1OTFcdWI0ZTRcdWM3NDQgXHVhZGY4XHViOWFjXHViNGRjXHViODVjIFx1ZDQ1Y1x1ZDYwNFx1ZDU3NCBcdWJjZjRcdWIyOTRcdWFjNzBcdWM1N2MhPFwvZW0+PFwvcD5cclxuXHJcbjxwPlx1YWRmOFx1YjgwN1x1YWM4YyBcdWIwOThcdWIyOTQgXHVjNTkxXHViNGU0XHVjNzQ0IFx1YWRmOFx1YjlhY1x1YjRkY1x1Yjg1YyBcdWQ0NWNcdWQ2MDRcdWQ1NThcdWFjZTAgXHViMDk4XHViMmM4XHVhZTRjIFx1YWMxMVx1Yzc5MFx1YWUzMCBcdWM4NzhcdWI4MzVcdWFlMzAgXHVjMmRjXHVjNzkxXHVkNTg4XHVjNWI0LiBcdWQ1NThcdWM5YzBcdWI5Y2MgXHViMDljIFx1YjEwOFx1YmIzNCBcdWFkODFcdWFlMDhcdWQ1ODhcdWM5YzAuIFx1YjBiNFx1YWMwMCBcdWQ0NWNcdWQ2MDRcdWQ1NWMgXHVhZGY4IFx1YWRmOFx1YjlhY1x1YjRkYyBcdWM3MDRcdWM1ZDAgXHViYTg3IFx1YWMxY1x1Yzc1OCBcdWM1OTFcdWJiMzRcdWI5YWNcdWFjMDAgXHVjNzg4XHVjNWM4XHViMjk0XHVjOWMwISBcdWFkZjhcdWI3OThcdWMxMWMgXHViMDk4XHViMjk0IFx1YjNkOVx1Yzc3NCBcdWQyYjhcdWFlMzAgXHVjODA0XHVhZTRjXHVjOWMwIFx1Yzc3NCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NDQgXHVjNzkxXHVjMTMxXHVkNTU4XHVhY2UwIFx1YzdhNVx1YjgyY1x1ZDc4OCBcdWM4MDRcdWMwYWNcdWQ1ODhcdWM5YzAuIFx1YjJlNFx1Yzc0Y1x1YjBhMCBcdWIwYjRcdWFjMDAgXHVjN2EwXHVjNWQwXHVjMTFjIFx1YWU2OFx1YzViNFx1YjBhY1x1Yzc0NCBcdWI1NGMgXHViMGI0IFx1YmFhOFx1YjJjOFx1ZDEzMFx1YzVkMFx1YjI5NCBcdWJhODcgXHVhYzFjXHVjNzU4IFx1YzU5MVx1YmIzNFx1YjlhY1x1YWMwMCBcdWM3ODhcdWM1YzhcdWIyOTRcdWM5YzAgXHVjZDljXHViODI1XHViNDE4XHVjNWI0IFx1Yzc4OFx1YzVjOFx1YzljMC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Y2NhYiBcdWJjODhcdWM5ZjggXHVjOTA0XHVjNzQwIFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWM3NTggXHVjMjE4XHViOTdjIFx1YjA5OFx1ZDBjMFx1YjA5OFx1YjI5NCBUXHViOTdjIFx1Yzc4NVx1YjgyNVx1YmMxYlx1YjI5NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNzc0XHVkNmM0IFx1YWMwMSBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHVjNzU4IFx1Y2NhYiBcdWJjODhcdWM5ZjggXHVjOTA0XHVjNWQwXHVjMTFjXHViMjk0IEgsVyBcdWI5N2MgXHVjNzg1XHViODI1XHViYzFiXHViMjk0XHViMmU0LiBIXHViMjk0IFx1YWRmOFx1YjlhY1x1YjRkY1x1Yzc1OCBcdWIxOTJcdWM3NzRcdWM3NzRcdWFjZTAsIFdcdWIyOTQgXHVhZGY4XHViOWFjXHViNGRjXHVjNzU4IFx1YjEwOFx1YmU0NFx1Yzc3NFx1YjJlNC4gXHVjNzc0XHVkNmM0IFx1YWRmOFx1YjlhY1x1YjRkY1x1Yzc1OCBcdWIxOTJcdWM3NzQgSCBcdWM1ZDAgXHVhYzc4XHVjY2QwXHVjMTFjIFdcdWFjMWNcdWM3NTggXHViYjM4XHVjNzkwXHViODVjIFx1Yzc3NFx1YjhlOFx1YzViNFx1YzljNCBcdWJiMzhcdWM3OTBcdWM1ZjQgXHVkNTU4XHViMDk4XHViOTdjIFx1Yzc4NVx1YjgyNVx1YmMxYlx1YjI5NFx1YjJlNC4mbmJzcDs8XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT4wICZsdDsgVCAmbGU7IDEwMDxcL2xpPlxyXG5cdDxsaT4wICZsdDsgSCwgVyAmbGU7IDEwMDxcL2xpPlxyXG48XC91bD5cclxuIiwib3V0cHV0IjoiPHA+XHVhYzAxIFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWI5YzhcdWIyZTQsIFx1YzU5MVx1Yzc1OCBcdWJhODcgXHVhYzFjXHVjNzU4IFx1YmIzNFx1YjlhY1x1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM4MzggXHVjNzg4XHVjNWM4XHViMjk0XHVjOWMwXHViOTdjIFx1ZDU1YyBcdWM5MDRcdWM1ZDAgXHVjZDljXHViODI1XHVkNTU4XHViYTc0IFx1YjQxY1x1YjJlNC4mbmJzcDs8XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJLb3JlYW4ifSx7InByb2JsZW1faWQiOiIxMTEyMyIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6IkNvdW50aW5nIFNoZWVwIiwiZGVzY3JpcHRpb24iOiI8cD5BIHdoaWxlIGFnbyBJIGhhZCB0cm91YmxlIHNsZWVwaW5nLiBJIHVzZWQgdG8gbGllIGF3YWtlLCBzdGFyaW5nIGF0IHRoZSBjZWlsaW5nLCBmb3IgaG91cnMgYW5kIGhvdXJzLiBUaGVuIG9uZSBkYXkgbXkgZ3JhbmRtb3RoZXIgc3VnZ2VzdGVkIEkgdHJpZWQgY291bnRpbmcgc2hlZXAgYWZ0ZXIgSSZyc3F1bztkIGdvbmUgdG8gYmVkLiBBcyBhbHdheXMgd2hlbiBteSBncmFuZG1vdGhlciBzdWdnZXN0cyB0aGluZ3MsIEkgZGVjaWRlZCB0byB0cnkgaXQgb3V0LiBUaGUgb25seSBwcm9ibGVtIHdhcywgdGhlcmUgd2VyZSBubyBzaGVlcCBhcm91bmQgdG8gYmUgY291bnRlZCB3aGVuIEkgd2VudCB0byBiZWQuPFwvcD5cclxuXHJcbjxwPkNyZWF0aXZlIGFzIEkgYW0sIHRoYXQgd2FzbiZyc3F1bzt0IGdvaW5nIHRvIHN0b3AgbWUuIEkgc2F0IGRvd24gYW5kIHdyb3RlIGEgY29tcHV0ZXIgcHJvZ3JhbSB0aGF0IG1hZGUgYSBncmlkIG9mIGNoYXJhY3RlcnMsIHdoZXJlIDxjb2RlPiM8XC9jb2RlPiByZXByZXNlbnRzIGEgc2hlZXAsIHdoaWxlIDxjb2RlPi48XC9jb2RlPiBpcyBncmFzcyAob3Igd2hhdGV2ZXIgeW91IGxpa2UsIGp1c3Qgbm90IHNoZWVwKS4gVG8gbWFrZSB0aGUgY291bnRpbmcgYSBsaXR0bGUgbW9yZSBpbnRlcmVzdGluZywgSSBhbHNvIGRlY2lkZWQgSSB3YW50ZWQgdG8gY291bnQgZmxvY2tzIG9mIHNoZWVwIGluc3RlYWQgb2Ygc2luZ2xlIHNoZWVwLiBUd28gc2hlZXAgYXJlIGluIHRoZSBzYW1lIGZsb2NrIGlmIHRoZXkgc2hhcmUgYSBjb21tb24gc2lkZSAodXAsIGRvd24sIHJpZ2h0IG9yIGxlZnQpLiBBbHNvLCBpZiBzaGVlcCBBIGlzIGluIHRoZSBzYW1lIGZsb2NrIGFzIHNoZWVwIEIsIGFuZCBzaGVlcCBCIGlzIGluIHRoZSBzYW1lIGZsb2NrIGFzIHNoZWVwIEMsIHRoZW4gc2hlZXBzIEEgYW5kIEMgYXJlIGluIHRoZSBzYW1lIGZsb2NrLjxcL3A+XHJcblxyXG48cD5Ob3csIEkmcnNxdW87dmUgZ290IGEgbmV3IHByb2JsZW0uIFRob3VnaCBjb3VudGluZyB0aGVzZSBzaGVlcCBhY3R1YWxseSBoZWxwcyBtZSBmYWxsIGFzbGVlcCwgSSBmaW5kIHRoYXQgaXQgaXMgZXh0cmVtZWx5IGJvcmluZy4gVG8gc29sdmUgdGhpcywgSSZyc3F1bzt2ZSBkZWNpZGVkIEkgbmVlZCBhbm90aGVyIGNvbXB1dGVyIHByb2dyYW0gdGhhdCBkb2VzIHRoZSBjb3VudGluZyBmb3IgbWUuIFRoZW4gSSZyc3F1bztsbCBiZSBhYmxlIHRvIGp1c3Qgc3RhcnQgYm90aCB0aGVzZSBwcm9ncmFtcyBiZWZvcmUgSSBnbyB0byBiZWQsIGFuZCBJJnJzcXVvO2xsIHNsZWVwIHRpZ2h0IHVudGlsIHRoZSBtb3JuaW5nIHdpdGhvdXQgYW55IGRpc3R1cmJhbmNlcy4gSSBuZWVkIHlvdSB0byB3cml0ZSB0aGlzIHByb2dyYW0gZm9yIG1lLjxcL3A+XHJcbiIsImlucHV0IjoiPHA+VGhlIGZpcnN0IGxpbmUgb2YgaW5wdXQgY29udGFpbnMgYSBzaW5nbGUgbnVtYmVyIFQsIHRoZSBudW1iZXIgb2YgdGVzdCBjYXNlcyB0byBmb2xsb3cuIEVhY2ggdGVzdCBjYXNlIGJlZ2lucyB3aXRoIGEgbGluZSBjb250YWluaW5nIHR3byBudW1iZXJzLCBIIGFuZCBXLCB0aGUgaGVpZ2h0IGFuZCB3aWR0aCBvZiB0aGUgc2hlZXAgZ3JpZC4gVGhlbiBmb2xsb3dzIEggbGluZXMsIGVhY2ggY29udGFpbmluZyBXIGNoYXJhY3RlcnMgKGVpdGhlciA8Y29kZT4jPFwvY29kZT4gb3IgPGNvZGU+LjxcL2NvZGU+KSwgZGVzY3JpYmluZyB0aGF0IHBhcnQgb2YgdGhlIGdyaWQuPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+MCAmbHQ7IFQgJmxlOyAxMDA8XC9saT5cclxuXHQ8bGk+MCAmbHQ7IEgsIFcgJmxlOyAxMDA8XC9saT5cclxuPFwvdWw+XHJcbiIsIm91dHB1dCI6IjxwPkZvciBlYWNoIHRlc3QgY2FzZSwgb3V0cHV0IGEgbGluZSBjb250YWluaW5nIGEgc2luZ2xlIG51bWJlciwgdGhlIGFtb3VudCBvZiBzaGVlcCBmbG9ja3Mgb24gdGhhdCBncmlkIGFjY29yZGluZyB0byB0aGUgcnVsZXMgc3RhdGVkIGluIHRoZSBwcm9ibGVtIGRlc2NyaXB0aW9uLjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IkVuZ2xpc2gifV0=

출처

Contest > IDI Open Contest > IDI Open 2009 G번

  • 문제를 번역한 사람: wooljs