函数的魔法

函数的魔法

https://ac.nowcoder.com/acm/problem/21884

参考代码:

#include<bits/stdc++.h>
#define inf 1000000007
using namespace std;
int d[1000][1000];
int main(){
    for (int i=0;i<233;i++) for (int j=0;j<233;j++) d[i][j]=inf;
    for (int i=0;i<233;i++){
        d[i][(i*i*i+i*i)%233]=1;
        d[i][(i*i*i-i*i)%233]=1;
    }
    for (int k=0;k<233;k++)
        for (int i=0;i<233;i++)
            for (int j=0;j<233;j++) if (d[i][k]+d[k][j]<d[i][j])
                d[i][j]=d[i][k]+d[k][j];
    int tt;scanf("%d",&tt);
    for (;tt--;){
        int a,b;scanf("%d%d",&a,&b);
        if (a==b) puts("0");
        else if (b>=233) puts("-1");
        else if (d[a%233][b]==inf) puts("-1");
        else printf("%d\n",d[a%233][b]);
    }
}
全部评论

相关推荐

10-30 22:18
已编辑
毛坦厂中学 C++
点赞 评论 收藏
分享
hso_:哈哈哈哈哈哈我没offer一样在同一道题开喷了
投递深圳同为数码等公司10个岗位
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务