touwangyi 2015-12-11 02:34 采纳率: 60%
浏览 552

hdu 3823 prime friend 求大神为什么wa,已经wa怕了

http://acm.hdu.edu.cn/showproblem.php?pid=3823

 #include<stdio.h>
#include<vector>
using namespace std;
#define M 20000010
bool pri[M] = {0};
int ans[M],temp = 0;
vector<int>fans[152];
int abs(int n)
{
    return n>0?n:-n;
}
void fun()
{
    for(int i = 2;i*i<M;i++)
    {
        if(pri[i]==true)
            continue;
        for(int j = 2*i;j<M;j+=i)
        {
            pri[j] = true;
        }
    }
    for(int i = 0;i<M;i++)
    {
        if(pri[i] == false)
        {
            ans[temp++] = i;
        }
    }
    for(int i = 0;i<temp-1;i++)
    {
        int t = ans[i+1]-ans[i];
        if(t<=150)
        {
            fans[t].push_back(ans[i+1]);
        }
    }
}
int main()
{
    fun();
    int n;
    scanf("%d\n",&n);
    int t = n;
    while(n--)
    {
        int a,b;
        scanf("%d%d",&a,&b);
        int ca = abs(a-b);
        int max = a>b?a:b;
        bool boo = false;
        for(int i = 0;i<fans[ca].size();i++)
        {
            if(fans[ca][i]>=max)
            {
                printf("Case %d: %d\n",t-n,fans[ca][i]-max);
                boo=true;
                break;
            }
        }
        if(boo==false)
        {
            printf("Case %d: -1\n",t-n);
        }
    }
}
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
    • ¥15 微信会员卡接入微信支付商户号收款
    • ¥15 如何获取烟草零售终端数据
    • ¥15 数学建模招标中位数问题
    • ¥15 phython路径名过长报错 不知道什么问题
    • ¥15 深度学习中模型转换该怎么实现
    • ¥15 HLs设计手写数字识别程序编译通不过
    • ¥15 Stata外部命令安装问题求帮助!
    • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
    • ¥15 TYPCE母转母,插入认方向