周日打了一场计蒜课的比赛,内心是非常挣扎的,其实并不想打,因为作业做不完会被打的,水了签到题就走了。
但是看了一道挺有意思的题,Reversion Count,题目链接:如果你不想点我下面有图片
题目如下:
当时没想太多,因为一心回去写作业。
然后又想了想还有点意思的。
这题肯定不能按部就班高精度啊。
所以,这是一道小数据猜结论的题。
打表程序(模拟):
#include <cstdio>
#include <cstring>
using namespace std;
int ft(int x){
int temp = x;
int t = 1;
int n = 0;
while (temp){
n ++;
t = t * 10;
temp /= 10;
}
t /= 10;
int ans = 0;
temp = x;
for (int i = n; i > 0; i--){
ans += (temp % 10) * t;
t /= 10;
temp /= 10;
}
return ans;
}
bool check(int i ){
if (i < 0)
i = -i;
int p = i % 10;
i/=10;
while (i){
if (i % 10 != p){
return false;
}
i/=10;
}
return true;
}
int main(){
for (int i = 0; i < 100000; i++){
int y = ft(i);
if ((i-y)%9==0)
if (check((i-y) / 9))
printf("%d\n", i);
}
return 0;
}
打100000个数据的表,然后发现,只要x满足除了首尾数字外其余的部分为回文的就o98k了。
然后附上蒟蒻写的程序:
#include <cstdio>
#include <cstring>
using namespace std;
int main(){
char x[110];
while (scanf("%s", x)!=EOF){
if (strlen(x) <= 3){
printf("YES\n");
continue;
}
int len = strlen(x);
bool flag = true;
for (int i = 1; i < (len-1)/2 + 1;i ++){
if (x[i] != x[len - 1 - i]){
flag = false;
break;
}
}
if (flag)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
又到了文章的最后,所以又得皮一下啦:
算了,今天不想皮了,还得补作业。
最近在看王小波的《沉默的大多数》,刚刚开始。
第一篇有一句话不错:和任何话语相比,饥饿都是更大的真理。
恩,没错,现在的我有点小饿。