但我觉得这种RE不科学
60分:
#include<bits/stdc++.h>
using namespace std;
int n, k, r[10001];
string s;
inline void make(){
for(int i = 2; i <= n; i++) r[i] = (r[i-1]*6807+2831) % 201701;
for(int i = 1; i <= n; i++) s += (r[i]%4+'0');
return;
}
inline int Solve(){
unordered_map<string, bool> vis;
int cnt = 0;
s += s;
for(int i = 0; i < n - k + 1; i++){
string str = s.substr(i, k);
if(!vis[str]) cnt++;
vis[str] = true;
}
return cnt;
}
int main(){
cin >> n >> k >> r[1];
make();
cout << Solve() << endl;
return 0;
}