欧克
#include <iostream>
using namespace std;
int num[10];
void solve() {
num[0] = num[1] = num[2] = 0;
string s;
cin >> s;
int n = s.length(), sum = 0, res = 0;
for (int i = 0; i < n; i++) {
sum += s[i] - '0';
num[(s[i] - '0') % 3]++;
}
sum %= 3;
if (sum == 0) {
if (num[0] == n) {
cout << n - 1 << endl;
} else {
cout << num[0] << endl;
}
} else {
for (int i = n - 1; i >= 0; i--) {
if ((s[i] - '0') % 3 == sum) {
if (i == 0) {
i++;
while (s[i] == '0') i++;
if (num[0] == n - 1) {
cout << num[0] - i + 1 << endl;
} else {
cout << num[0] - i + 2 << endl;
}
} else {
if (num[0] == n - 1) {
cout << n - 2 << endl;
} else {
cout << num[0] + 1 << endl;
}
}
return;
}
}
cout << 0 << endl;
}
}
int main() {
int t;
cin >> t;
while (t--) {
solve();
}
return 0;
}
#牛客AI配图神器#
using namespace std;
int num[10];
void solve() {
num[0] = num[1] = num[2] = 0;
string s;
cin >> s;
int n = s.length(), sum = 0, res = 0;
for (int i = 0; i < n; i++) {
sum += s[i] - '0';
num[(s[i] - '0') % 3]++;
}
sum %= 3;
if (sum == 0) {
if (num[0] == n) {
cout << n - 1 << endl;
} else {
cout << num[0] << endl;
}
} else {
for (int i = n - 1; i >= 0; i--) {
if ((s[i] - '0') % 3 == sum) {
if (i == 0) {
i++;
while (s[i] == '0') i++;
if (num[0] == n - 1) {
cout << num[0] - i + 1 << endl;
} else {
cout << num[0] - i + 2 << endl;
}
} else {
if (num[0] == n - 1) {
cout << n - 2 << endl;
} else {
cout << num[0] + 1 << endl;
}
}
return;
}
}
cout << 0 << endl;
}
}
int main() {
int t;
cin >> t;
while (t--) {
solve();
}
return 0;
}
#牛客AI配图神器#
全部评论
相关推荐
10-20 16:50
门头沟学院 Java 点赞 评论 收藏
分享
10-29 22:30
吉林大学 Java 喵喵喵6_6:应该哪里不对吧,大厂都是20k以上的,10k那种对于985本的学生基本就是点击一下过了笔试就送的
,我前两天刚拿了一个11k,笔试完第2天就打电话了,非科班。坏消息是c++岗开这么低真是刷新认知了
点赞 评论 收藏
分享


vivo公司福利 364人发布