这道题是历年考试专题,
有一点难:
题解如下:
#include <bits.stdc++.h>
using namespase std;
int n,k,r;
string t="ATCG"
string s=" ";
string a[30];
int len=0;
bool f;
int main{
cin >> n >> k >> r;
for(int i=1;i<=n;i++){
s=s+t[r%4];
r=(r*6807+2831)%201701;
}
for(int i=1;i<=s.size()-k;i++){
string w=s.substr(i,k);
f=false;
for(int j=0;j<len;j++){
if(a[j]==w){
f=true;
break;
}
}
if(f==false){
a[len]=w;
len++;
}
}
cout << len;
return 0;
}