C:小红的循环移位
思路:看了b站讲解后才知道每次移位后只需要看后两位是否为4的倍数就行;
暴力:拆开,枚举,重组肯定是超时滴:
#include <bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int a[N];
int main()
{
string s;
cin>>s;
int n=s.size();
int i;
for(i=-1;i<n-1;i++)
{
int tt=s[(i+n)%n];
tt+=s[(i+n-1)%n]*10;
if(tt%4==0) break;
}
if(i+1==n)cout<<"-1"<<endl;
else cout<<i+1;
}