1 solutions

  • 2
    @ 2025-11-16 14:38:07
    #include<bits/stdc++.h>
    using namespace std;
    long long n,m,f[2010][2010],a[2010],b[2010],mod=1e9+7; 
    int main()
    {
    	cin>>n>>m;
    	for(int i=1;i<=n;i++)
    	{
    		cin>>a[i];
    	}
    	for(int i=1;i<=m;i++)
    	{
    		cin>>b[i];
    	}
    	for(int i=0;i<=n;i++)
    	{
    		for(int j=0;j<=m;j++)
    		{
    			if(i==0||j==0)
    			{
    				f[i][j]=1;
    			}
    			else
    			{
    				f[i][j]=(f[i-1][j]%mod+f[i][j-1]%mod)%mod;
    				if(a[i]!=b[j])
    				{
    					f[i][j]=(f[i][j]%mod-f[i-1][j-1]%mod)%mod;
    				}
    				f[i][j]=(f[i][j]%mod+mod)%mod;
    			}
    			
    		}
    	}
    	cout<<f[n][m];
    	return 0;
    }
    
    • 1

    Information

    ID
    2091
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    7
    Tags
    # Submissions
    21
    Accepted
    6
    Uploaded By