zoukankan      html  css  js  c++  java
  • hdu2141AC代码分享

    #include <iostream>

    #include <algorithm>

    using namespace std;

    const int N = 505;


    //////////////////////////////////////////////////////////////////////////////////////////////////////
    /////////////////////////////////////////////////////////////////////////////////////////////////////

    __int64 ab[N * N];

    //用来告诉编译器自己最后是要输入多少个数据
    int num; //这是一个全局变量


    int search(__int64 x)

    {

    int f = 0, l = num - 1;

    int mid;

    while(f <= l)

    {

    mid = (f + l) / 2;

    if(ab[mid] == x)

    return 1;
    //表示程序运行成功了
    else if(ab[mid] < x)

    f = mid + 1;
    //
    else

    l = mid - 1;
    }

    return 0;
    } //疑问?返回值是如何进行处理的?

    int main()
    {

    int n, m, l, flag = 0, s;
    //这个是通过
    __int64 a[N], b[N], c[N], x;
    //
    while(cin >> n >> m >> l)

    {

    flag++;

    num = 0;

    for(int i = 0; i < n; i++)

    scanf("%I64d", &a[i]);

    for(int i = 0; i < m; i++)

    scanf("%I64d", &b[i]);

    for(int i = 0; i < l; i++)

    scanf("%I64d", &c[i]);


    for(int i = 0; i < n; i++)

    for(int j = 0; j < m; j++)

    ab[num++] = a[i] + b[j];

    sort(ab, ab+num);

    sort(c, c+l);

    scanf("%d", &s);

    printf("Case %d: ", flag);

    while(s--)
    {

    scanf("%I64d", &x);

    if(x < ab[0] + c[0] || x > ab[num-1] + c[l-1])

    printf("NO ");

    else

    {

    __int64 p;

    int j;

    for(j = 0; j < l; j++)

    {

    p = x - c[j];

    if(search(p))

    {

    printf("YES ");

    break;

    }

    }

    if(j == l)

    printf("NO ");

    }

    }

    }

    return 0;


    }

    参考网址:http://blog.csdn.net/vsooda/article/details/7971366

    我要坚持一年,一年后的成功才是我想要的。
  • 相关阅读:
    0316-复利计算更新
    实验一 了解和掌握操作系统
    复利计划1.0
    0916 词法分析(2)
    0916词法分析
    0909 编译原理 第1次上机
    单元测试代码
    单元测试
    实验一:命令解释程序
    《构建之法》现代软件工程第1、2、3章读后感
  • 原文地址:https://www.cnblogs.com/tianxia2s/p/3850455.html
Copyright © 2011-2022 走看看