4
2025-07-18 18:22:12
发布于:浙江
#include <bits/stdc++.h>
using namespace std;
string s;
int n;
int to_num(string s){
int num=0;
for(int i=0;i<s.size();i++){
num*=10;
num+=s[i]-48;
}
return num;
}
void solve(){
int ans=1e9;
cin>>s;
n=to_num(s);
if(n%4==0){
cout<<0<<endl;
return ;
}
if(s.size()==1){
cout<<-1<<endl;
return ;
}
if(s.size()==2){
swap(s[0],s[1]);
if(to_num(s)%4==0) cout<<1<<endl;
else cout<<-1<<endl;
return ;
}
//找到两位组合为4的倍数
for(int i=0;i<s.size();i++){
for(int j=0;j<s.size();j++){
if(i==j) continue;
string x="";
x+=s[i];
x+=s[j];
int num=to_num(x);
if(num%4!=0) continue;
// cout<<"*"<<i<<" "<<j<<" "<<num<<endl;
if(i==s.size()-1 && j==s.size()-2 || i==s.size()-2 || j==s.size()-1){
cout<<1<<endl;
return ;
}
else{
ans=2;
}
}
}
if(ans==2) cout<<ans<<endl;
else cout<<-1<<endl;
return ;
}
int main(){
freopen("four.in","r",stdin);
freopen("four.out","w",stdout);
int t=0;
cin>>t;
while(t--){
solve();
}
fclose(stdin);
fclose(stdout);
return 0;
}
这里空空如也
有帮助,赞一个