2 条题解

  • 11
    @ 2024-4-29 19:11:54
    #include<bits/stdc++.h>
    using namespace std;
    template<typename G>inline void read(G&x) {x=0;G f=1;char ch=getchar();while((ch>'9'||ch<'0')&&ch!='-') ch=getchar();if(ch=='-') {f=-1;ch=getchar();}while(ch>='0'&&ch<='9') {x=x*10+(ch^48);ch=getchar();}x*=f;}
    const int MAXN=405,p=1e9+7;
    int T,n,m,tot,dp[MAXN][MAXN][MAXN];
    char s[MAXN],t[MAXN];
    int main() {
    	read(T);
    	while(T--) {
    		read(n),read(m);
    		cin>>(s+1)>>(t+1);
    		tot=0;
    		for(int i=1;i<=n;++i) {
    			if(s[i]=='-') ++tot;
    		}
    		if(n-tot*2!=m) {
    			puts("0");
    			continue;
    		}
    		int len=0;
    		memset(dp,0,sizeof(dp));
    		dp[0][0][0]=1;
    		for(int i=1;i<=n;++i) {
    			if(s[i]=='-') --len;
    			else ++len;
    			for(int j=0;j<=tot;++j) {
    				for(int k=0;k<=tot;++k) {
    					if(s[i]=='-') {
    						dp[i][j][k]=(dp[i-1][j+1][k]+dp[i-1][j][k+1])%p;
    					}
    					else {
    						if(k>0) dp[i][j][k]=dp[i-1][j][k-1];
    						else if(t[len-j]==s[i]) dp[i][j][k]=dp[i-1][j][k]; 
    						if(len==j) dp[i][j][k]=(dp[i][j][k]+dp[i-1][j-1][k])%p;
    					}
    				}
    			}
    		}	
    		printf("%d\n",dp[n][0][0]);
    	}
    	return 0;
    }
    
    • -50
      @ 2023-2-6 15:19:42

      写题解请注意

      鼓励大家写题解,但注意题解格式。

      题解一定要有思路解析或代码注释,能否让别人理解你的思路

      也是你的能力的检验,不要只放无意义的代码给大家复制,那就失去了做题的初心。

      给代码两端加上这个会舒服一些

      ```cpp

      你的代码

      ```

      </span>

      这个点在键盘的左上角tab上面那个键,注意切换输入法

      #include<iostream>
      using namespace std;
      int main()
      {
          int n;
          cin>>n;//这是一个注释
          return 0;
      }
      

      请注意严禁抄袭题解,写题解不要只放代码,需加上你的思路或代码注释。

      抄袭题解一经发现直接取消成绩。

      题解被删除的可能

      1. 代码不符合格式规范
      2. 没有思路讲解或者没有注释,
      3. 无意义的题解

      大家携手共同维护一个良好的编程环境,如果一经发现,多次作乱。可能会被管理员拉黑,请注意,一旦拉黑即失去登陆资格。

      • 1

      [NOI Online 2022 入门组] 字符串

      信息

      ID
      1680
      时间
      1000ms
      内存
      256MiB
      难度
      4
      标签
      递交数
      278
      已通过
      130
      上传者