纯模拟30分,告诉我用什么算法就行了
查看原帖
纯模拟30分,告诉我用什么算法就行了
1760855
liujiacheng2012楼主2025/8/1 20:08
//不含前导零且相邻两个数字之差至少为 2 的正整数被称为 windy 数。windy 想知道,在 a 和 b 之间,包括 a 和 b ,总共有多少个 windy 数?
#include <bits/stdc++.h>
using namespace std;
short d[10000001];
bool iwn(int i)
{
    int a=i,k=0;
    int digit;
    while(a!=0)
    {
        digit=a%10;
        a/=10;
        d[k++]=digit;
    }
    int len=k-1;k=0;
    for (int k=1;k<=len;k++)
    {
        if (abs(d[k]-d[k-1])<2) return false;   //一位一位的检测,一旦有不合法的情况出现时,直接返回false;
    }
    return true;
}
int main(){
    int a,b,t=0;
    cin>>a>>b;
    for (int i=a;i<=b;i++)
    {
        if (iwn(i))
        {
            t++;
        }
    }
    cout << t;
    return 0l;
}

我是唯一纯模拟的人吗,3个ac,其他全都TLe

2025/8/1 20:08
加载中...