RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
문제 JOI00220

方向音痴のトナカイ

설명

今年も JOI 町にサンタクロースが空からやってきた.JOI 町にある全ての家には子供がいるので,このサンタクロースは JOI 町の全ての家にプレゼントを配ってまわらなければならない.しかし,今年は連れているトナカイが少々方向音痴であり,また建物の上以外に降りることができないため,全ての家にプレゼントを配るためには少々道順を工夫しなければならないようだ.

JOI 町は東西南北に区画整理されており,各区画は家,教会,空き地のいずれかである.JOI 町には 1 つだけ教会がある.次のルールに従い,サンタクロースとトナカイは教会から出発し,全ての家に 1 回ずつプレゼントを配った後,教会に戻る.

今年のトナカイは少々方向音痴であるため,東西南北いずれかの方向にまっすぐ飛ぶことしかできず,空中では方向転換できない.

まだプレゼントを配っていない家の上は自由に通過できる.まだプレゼントを配っていない家には降りることができる.家に降りた時は必ずプレゼントを配り,その後は東西南北いずれかの方向に飛び立つ.

JOI 町の家では,クリスマスの夜はサンタクロースが来るまでは暖炉をつけずに過ごしているが,サンタクロースが飛び立った後は暖炉をつける.暖炉をつけると煙突から煙が出るので,プレゼントを配り終えた家の上を通過することはできない.

教会の上は自由に通過することができる.しかし,教会では礼拝が行われているので,全てのプレゼントを配り終えるまで教会に降りることはできない.

空き地の上は自由に通過することができるが,空き地に降りることはできない.

入力として町の構造が与えられたとき,サンタクロースとトナカイがプレゼントを配る道順が何通りあるかを求めるプログラムを作成せよ.

제약
입력 형식

入力は n+1 行ある.
1 行目には整数 m (1 ≦ m ≦ 10) と整数 n (1 ≦ n ≦ 10) が空白で区切られて書かれている.
2 行目から n+1 行目までの各行には,0,1,2 のいずれかが,
空白で区切られて m 個書かれており,各々が各区画の状態を表している.
北から i 番目,西から j 番目の区画を (i,j) と記述することにすると
(1 ≦ i ≦ n, 1 ≦ j ≦ m),
第 i+1 行目の j 番目の値は,
区画 (i,j) が空き地である場合は 0 となり,
家である場合は 1 となり,
教会である場合は 2 となる.
教会の個数は 1 であり,家の個数は 1 以上 23 以下である.
ただし,採点用入力データでは配る道順が 2000000 通りをこえることはない.

출력 형식

出力はプレゼントを配る道順が何通りあるかを表す整数のみを含む 1 行からなる.

예제 1
입력
3 2
1 0 1
1 0 2
출력
2
예제 2
입력
3 3
1 1 1
1 0 1
1 1 2
출력
6
문제 정보

생성자가 기록되지 않았습니다.

출처 JOI 2010 Preliminary

평가 및 의견

方向音痴のトナカイ

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

方向音痴のトナカイ

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8