为什么我自己测数据是对的,0提交就错了呢?
$((・∀・(・∀・(・∀・*)$$
代码
#include<bits/stdc++.h>
using namespace std;
int cnt = 0;
int digit(int y) {
while (y != 0) {
y /= 10;
cnt++;
}
return cnt;
}
int check(int x) {
int a = x, m = 0;
while (a > 0) {
m = m * 10 + a % 10;
a /= 10;
}
return m == x;
}
int main() {
int k, t, sum = 0, toto = 0;
string s;
scanf("%d", &k);
cin >> s;
int dec = stoi(s, 0, k);
while (toto <= 30) {
toto++;
sum = 0;
t = dec;
while (t != 0) {
sum *= 10;
sum += t % 10;
t /= 10;
}
dec += sum;
if (check(dec)) {
printf("STEP=%d", toto);
return 0;
}
}
printf("Impossible!");
return 0;
}
我把测试点1搬下来是这样的:
输入:
2
10011
它上面说要4步
蛋是我只有两步
第一步:
10011变成19加上91之后变成110
第二步:
110加上11变成121是回文输出STEP=2
我个人觉得没问题啊!!!