Submission #59206810
Source Code Expand
#include <bits/stdc++.h> #include<atcoder/all> #define rep(i,n) for(int i=0;i<(n);i++) using namespace std; using namespace atcoder; #define all(a) a.begin(),a.end() #define cmp(a) sort(all(a));a.erase(unique(all(a)),a.end()) typedef long long ll; typedef pair<ll,ll> P; typedef modint1000000007 mi; constexpr ll mod=1000000007; unordered_map<int,ll>dp[578]; int main(){ int h,w;cin>>h>>w; string c[24]; rep(i,h)cin>>c[i]; dp[0][0]=1; if(w==1){ vector<ll>dp2(h+2); dp2[0]=1; rep(i,h){ dp2[i+1]+=dp2[i]; if(c[i][0]=='.')dp2[i+2]+=dp2[i]; } cout<<dp2[h]+dp2[h+1]<<endl; return 0; } rep(i,h){ rep(j,w){ int d=i*w+j; for(auto e:dp[d]){ int k=e.first; dp[d+1][k>>1]+=e.second; dp[d+1][k>>1]%=mod; if(c[i][j]=='.'&&!(k&1)){ if(j==w-1){ dp[d+1][(k>>1)|(3<<(w-2))]+=e.second; dp[d+1][(k>>1)|(3<<(w-2))]%=mod; } else if(j==0){ dp[d+2][(k>>2)|(3<<(w-2))]+=e.second; dp[d+2][(k>>2)|(3<<(w-2))]%=mod; } else{ dp[d+2][(k>>2)|(7<<(w-3))]+=e.second; dp[d+2][(k>>2)|(7<<(w-3))]%=mod; } } } } } ll res=0; for(int i=h*w;i<=h*w+1;i++){ for(auto e:dp[i])res=(res+e.second)%mod; } cout<<res<<endl; }
Submission Info
Submission Time | |
---|---|
Task | 023 - Avoid War(★7) |
User | Rho17 |
Language | C++ 20 (gcc 12.2) |
Score | 7 |
Code Size | 1275 Byte |
Status | AC |
Exec Time | 4095 ms |
Memory | 1043400 KiB |
Judge Result
Set Name | Sample | Subtask 1 | Subtask 2 | Subtask 3 | Subtask 4 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 1 / 1 | 1 / 1 | 2 / 2 | 3 / 3 | ||||||||||
Status |
|
|
|
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_05.txt |
Subtask 1 | sample_01, sample_02, 01_01.txt, 01_02.txt, 01_03.txt, 01_04.txt, 01_05.txt, 01_06.txt, 01_07.txt, 01_08.txt, 01_09.txt, 01_10.txt |
Subtask 2 | sample_01, sample_02, sample_03, 01_01.txt, 01_02.txt, 01_03.txt, 01_04.txt, 01_05.txt, 01_06.txt, 01_07.txt, 01_08.txt, 01_09.txt, 01_10.txt, 02_01.txt, 02_02.txt, 02_03.txt, 02_04.txt, 02_05.txt, 02_06.txt, 02_07.txt, 02_08.txt, 02_09.txt, 02_10.txt |
Subtask 3 | sample_01, sample_02, sample_03, sample_04, 01_01.txt, 01_02.txt, 01_03.txt, 01_04.txt, 01_05.txt, 01_06.txt, 01_07.txt, 01_08.txt, 01_09.txt, 01_10.txt, 02_01.txt, 02_02.txt, 02_03.txt, 02_04.txt, 02_05.txt, 02_06.txt, 02_07.txt, 02_08.txt, 02_09.txt, 02_10.txt, 03_01.txt, 03_02.txt, 03_03.txt, 03_04.txt, 03_05.txt, 03_06.txt, 03_07.txt, 03_08.txt, 03_09.txt, 03_10.txt |
Subtask 4 | sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_05.txt, 01_01.txt, 01_02.txt, 01_03.txt, 01_04.txt, 01_05.txt, 01_06.txt, 01_07.txt, 01_08.txt, 01_09.txt, 01_10.txt, 02_01.txt, 02_02.txt, 02_03.txt, 02_04.txt, 02_05.txt, 02_06.txt, 02_07.txt, 02_08.txt, 02_09.txt, 02_10.txt, 03_01.txt, 03_02.txt, 03_03.txt, 03_04.txt, 03_05.txt, 03_06.txt, 03_07.txt, 03_08.txt, 03_09.txt, 03_10.txt, 04_01.txt, 04_02.txt, 04_03.txt, 04_04.txt, 04_05.txt, 04_06.txt, 04_07.txt, 04_08.txt, 04_09.txt, 04_10.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01_01.txt | AC | 1 ms | 3636 KiB |
01_02.txt | AC | 1 ms | 3576 KiB |
01_03.txt | AC | 1 ms | 3728 KiB |
01_04.txt | AC | 1 ms | 3732 KiB |
01_05.txt | AC | 1 ms | 3516 KiB |
01_06.txt | AC | 1 ms | 3520 KiB |
01_07.txt | AC | 1 ms | 3536 KiB |
01_08.txt | AC | 1 ms | 3536 KiB |
01_09.txt | AC | 1 ms | 3544 KiB |
01_10.txt | AC | 1 ms | 3612 KiB |
02_01.txt | AC | 1 ms | 3568 KiB |
02_02.txt | AC | 1 ms | 3512 KiB |
02_03.txt | AC | 1 ms | 3532 KiB |
02_04.txt | AC | 1 ms | 3608 KiB |
02_05.txt | AC | 1 ms | 3428 KiB |
02_06.txt | AC | 1 ms | 3560 KiB |
02_07.txt | AC | 1 ms | 3524 KiB |
02_08.txt | AC | 1 ms | 3768 KiB |
02_09.txt | AC | 1 ms | 3576 KiB |
02_10.txt | AC | 1 ms | 3760 KiB |
03_01.txt | AC | 1 ms | 3572 KiB |
03_02.txt | AC | 1 ms | 3620 KiB |
03_03.txt | AC | 1 ms | 3672 KiB |
03_04.txt | AC | 1 ms | 3740 KiB |
03_05.txt | AC | 1 ms | 3632 KiB |
03_06.txt | AC | 2 ms | 4604 KiB |
03_07.txt | AC | 5 ms | 5340 KiB |
03_08.txt | AC | 2 ms | 4256 KiB |
03_09.txt | AC | 5 ms | 5700 KiB |
03_10.txt | AC | 50 ms | 24660 KiB |
04_01.txt | AC | 1 ms | 3624 KiB |
04_02.txt | AC | 1 ms | 3648 KiB |
04_03.txt | AC | 7 ms | 6692 KiB |
04_04.txt | AC | 6 ms | 5936 KiB |
04_05.txt | AC | 28 ms | 16016 KiB |
04_06.txt | AC | 53 ms | 24884 KiB |
04_07.txt | AC | 53 ms | 26432 KiB |
04_08.txt | AC | 66 ms | 29504 KiB |
04_09.txt | AC | 77 ms | 34672 KiB |
04_10.txt | AC | 4095 ms | 1043400 KiB |
sample_01.txt | AC | 1 ms | 3532 KiB |
sample_02.txt | AC | 1 ms | 3644 KiB |
sample_03.txt | AC | 1 ms | 3544 KiB |
sample_04.txt | AC | 6 ms | 6248 KiB |
sample_05.txt | AC | 9 ms | 7312 KiB |