程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> HDU 4334 Trouble

HDU 4334 Trouble

編輯:C++入門知識

HDU 4334 Trouble


合並排序再枚舉哭


題意問五個數組中各抽一個加起來 和是否為 0。


開始想用 200*200*200 和 200*200 比。果然TLE了。

後來知道 得 200*200,200*200 ,200 。


先200*200 的枚舉,排序,去重。然後三個元素加起來,微調 兩個 200*200 的指針。


這題用 %lld 就WA。得用 %I64d 。貢獻N多TLE。N多WA。怒刷存在感。


#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define INF 0x7fffffff
#define eps 1e-6
#define LL long long
using namespace std;
LL num[5][201];

LL sum1[201*201];
LL sum2[201*201];

int main()
{
//    freopen("in.txt","r",stdin);
//    freopen("2","w",stdout);
    int t;
    scanf("%d",&t);
    while(t--)
    {
        int n;
        scanf("%d",&n);
        for(int i=0; i<5; i++)
            for(int j=0; j=0;)
            {
                if(sum1[j]+sum2[k]+num[4][i]==0)
                {
                    flag=1;
                    break;
                }
                else if(sum1[j]+sum2[k]+num[4][i]>0)
                    k--;
                else
                    j++;
            }

        }

        if(flag)
            puts("Yes");
        else
            puts("No");
    }
}


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