转完专业以后摸太久了...从今天开始一定要好好做题了(希望)
这道题打训练的时候思路是如果最后一个不是就选最后一个,如果是就找一个和pos数组里有问题的数互质的数,队友写完以后发现有规律,在所有数的后半段的任意一个数都和所有在它后面的数都互质,而前面的数由于题目特性都被解决了
#include<bits/stdc++.h>
using namespace std;
int t,n;
char ch;
string s;
int main() {
cin >> t;
while (t--) {
cin >> n >> ch >> s;
int ok = 1;
for (int i = 0; i < n; ++i)
if (s[i] != ch) {
ok = 0;
break;
}
if (!ok) {
for (int i = n / 2; i < n; ++i) {
if (s[i] == ch) {
ok = 1;
printf("1\n%d\n", i + 1);
break;
}
}
if (!ok)
printf("2\n%d %d\n", n - 1, n);
} else printf("0\n");
}
}
下次要加油,好好补题,好好复盘