Թաքցված խնդիր
|Այս խնդիրը թաքցված է խմբագրական խրհրդի անդամի կողմից քանի որ կամ այն ոչ ճիշտ լեզվով է գրված,|կամ թեստային տվյալներն են սխալ, կամ խնդրի ձևակերպումը պարզ չէ։|

TSOVMART - Ծովամարտ

Հայտնի «Ծովամարտ» խաղում գործողությունը տեղի է ունենում M × N չափի վանդակավոր թղթի վրա։ Խաղադաշտում կարող են տեղադրվել կամայական ձևի տարբեր նավեր։ Յուրաքանչյուր նավ իրենից ներկայացնում է կապակցված պատկեր։ Պատկերը կոչվում է կապակցված, եթե այդ պատկերին պատկանող ցանկացած վանդակից, շարժվելով միայն ըստ կողի հարևան 4 վանդակներով կարելի է հասնել պատկերին պատկանող ցանկացած այլ վանդակի։ Ոչ մի երկու նավեր ընդհանուր կետեր չունեն։

            Խաղի ընթացքում նավը կարող է երեք վիճակներից մեկում գտնվել.

  • Եթե նավի վրա ոչ մի արկ չի ընկել, ապա այն «կենդանի» է։
  • Եթե նավի բոլոր վանդակներում արկեր են ընկել, ապա այն «սպանված» է։
  • Մնացած դեպքերում նավը «վիրավոր» է։

            Գրել ծրագիր, որը ներածելով խաղադաշտը ներկայացնող սիմվոլները, հաշվի «կենդանի», «սպանված» և «վիրավոր» նավերի քանակը։

Մուտք

Առաջին տողում տրված են դաշտի տողերի M և սյուների N քանակները (0 <M, N < 50): Հաջորդ M տողերից յուրաքանչյուրը պարունակում է N թիվ։ Այդ թվերը կարող են ըդունել հետևյալ արժեքները.

0 – վանդակում նավ չկա (ջուր է)

1 – վանդակում նավ է, վանդակը ռմբակոծված չէ

-1 – վանդակում նավ է, վանդակը ռմբակոծված է

Ելք

Ելքային ֆայլում պետք է արտածել, իրարից մեկ բացակով անջատված, երեք թիվ՝ «կենդանի», «սպանված» և «վիրավոր» նավերի քանակները։

Օրինակ

Մուտք.
7 8
0 0 1 0-1 -1 0 1
1 0 0 0 0 0 0 0
1 0 1 1 1 1 1 0
-1 0 1 0 0 0 1 0
0 0 1 1 1 -1 1 0
1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0
Ելք. 3 1 2

Ավելացրեց.Andreasyan
Ամսաթիվ.2015-01-20
Ժամանակի սահմանափակումը.0.100s
Ծրագրի տեքստի սահմանափակումը.50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Լեզուներ.C CSHARP C++ 4.3.2 CPP CPP14 JAVA PAS-GPC PAS-FPC PYTHON3

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.