对奇数位讨论放'1'或者'0'哪个更优即可
void solve(){ string s; cin >> s; s = ' ' + s; int s1 = 0, s2 = 0; for (int i = 1; i < s.size();i++){ if(i % 2 == 0 && s[i] == '1') s1 += i; else if(i % 2 == 1 && s[i] == '0') s1 += i; } for (int i = 1; i < s.size();i++){ if(i % 2 == 0 && s[i] == '0') s2 += i; else if(i % 2 == 1 && s[i] == '1') s2 += i; } cout << min(s1, s2); }