제출 #14218

#제출 시각아이디문제언어결과실행 시간메모리
14218gs14004선다형 시험 (TOKI14_multiple)C++14
24 / 100
73 ms34752 KiB
#include <cstdio> #include <cstring> const int mod = 1e9 + 7; int n, p, q; char sa[2005], sb[2005]; char tab[2005][6]; int dp[205][205][205]; int f(int pos, int p, int q){ if(p < 0 || q < 0) return 0; if(pos == n) return p == 0 && q == 0; if(~dp[pos][p][q]) return dp[pos][p][q]; int ret = 0; for (int i=0; i<5; i++) { if(tab[pos][i] != '.'){ ret += f(pos+1,p - (sa[pos] == tab[pos][i]),q - (sb[pos] == tab[pos][i])); ret %= mod; } } return dp[pos][p][q] = ret; } void what_the_fuck(){ char str[10]; memset(dp,-1,sizeof(dp)); scanf("%d %d %d",&n,&p,&q); for (int i=0; i<n; i++) { scanf("%s",str); sa[i] = str[0]; } for (int i=0; i<n; i++) { scanf("%s",str); sb[i] = str[0]; } for (int i=0; i<n; i++) { scanf("%s",tab[i]); } printf("%d",f(0,p,q)); } int main(){ what_the_fuck(); puts(""); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...