程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> uva 10125 - Sumsets(a+b+c=d)

uva 10125 - Sumsets(a+b+c=d)

編輯:C++入門知識

uva 10125 - Sumsets(a+b+c=d)


希望下次能馬上想到

a+b 、d-c 分開來算。然後保存其中一項的值,算出另一項來就查找該值是否存在。

這種方法明顯比三重循環省時。


還有下面的方法:

三重循環窮舉a,b,d;然後二分窮舉c;


#include
#include
#include
using namespace std;
int a[1010],i,j,k,ans,f,n;
int comp(int x,int y)
{
    return x>y;
};
int find(int key,int l,int r)
{
    int mid=(r+l)/2;
    if (l>r) return 0;
    if (key==a[mid])
    {
        if ((mid!=i)&&(mid!=j)&&(mid!=k)) f=1;
        return 0;
    }
    else if (key

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved