AcWing 783. 括号序列-java
原题链接
中等
作者:
单箭头
,
2019-05-15 09:21:29
,
所有人可见
,
阅读 1113
java 代码
public class 括号序列 {
private static final int mod=1000000007;
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
char[] str1=sc.nextLine().trim().toCharArray();
char[] str2=sc.nextLine().trim().toCharArray();
int[] cnt1=new int[str1.length+1];
int[] cnt2=new int[str2.length+1];
Valid(cnt1,str1);
Valid(cnt2,str2);
if(cnt1[str1.length]+cnt2[str2.length]!=0) System.out.println(0);
else {
int[][] dp=new int[str1.length+1][str2.length+1];
for(int i=0;i<=str1.length;i++){
for (int j=0;j<=str2.length;j++){
if(i==0 && j==0) dp[i][j]=1;
else {
if(cnt1[i]+cnt2[j]>=0){
if(i>0) dp[i][j]+=dp[i-1][j];
if (j>0) dp[i][j]+=dp[i][j-1];
dp[i][j]%=mod;
}
}
}
}
System.out.println(dp[str1.length][str2.length]);
}
}
private static void Valid(int[] cnt,char[] chars){
for(int i=0;i<chars.length;i++){
if (chars[i] == '(') {
cnt[i+1]=cnt[i]+1;
}else cnt[i+1]=cnt[i]-1;
}
}
}
不行,提交到蓝桥杯官网那里ac不了