社区讨论

纯模拟30分,告诉我用什么算法就行了

P2657[SCOI2009] windy 数参与者 8已保存回复 8

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
8 条
当前快照
1 份
快照标识符
@mdss76ps
此快照首次捕获于
2025/08/01 20:09
7 个月前
此快照最后确认于
2025/11/04 03:21
4 个月前
查看原帖
CPP
//不含前导零且相邻两个数字之差至少为 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

回复

8 条回复,欢迎继续交流。

正在加载回复...