1 solutions

  • 0
    @ 2025-3-3 16:25:46

    C++ :

    #include <bits/stdc++.h>
    using namespace std;
    
    string str="ATCG",a,c;
    map<string,int> m;
    int n,k,r;
    
    int main()
    {
    	cin >> n >> k >> r;
    	for (int i=1;i<=n;i++)
    	{
    		a+=str[r%4];
    		r=(r*6807+2831)%201701;
    	}
    
    	for(int i=1;i<=k;i++)
    		c+=a[i-1];
    
    	m[c]=1;
    	for (int i=k+1;i<=n;i++)
    	{
    		c+=a[i-1];
    		c.erase(0,1);
    		if (!m[c])
    			m[c]=1;
    	}
    	cout << m.size() << endl;
    	return 0;
    }
    
    
    
    • 1

    Information

    ID
    10074
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By