51nod 1090 3个数和为0
来源:互联网 发布:sql删除重复字段数据 编辑:程序博客网 时间:2024/05/29 03:36
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1090
水题。
枚举前两项 二分第三项。
代码:
#include <stdio.h>#include <iostream>#include <string.h>#include <algorithm>#include <math.h>#include <stack>#include <queue>using namespace std;int n;int a[10010];int main(){ while (scanf("%d", &n) != EOF) { for (int i = 1;i <= n;i++) scanf("%d", &a[i]); sort(a + 1, a + 1 + n); int ok = 0; for (int i = 1;i <= n;i++) for (int j = i + 1;j <= n;j++) { if (i != j) { int sum = a[i] + a[j]; int left = 1, right = n; int mid; int k = 0; int pos; while (left <= right) { mid = (left + right) / 2; if (a[mid] == -sum && mid != i && mid != j) { k = 1; pos = mid; } if (a[mid] + sum > 0) right = mid - 1; else left = mid + 1; } if (k && pos > j) { printf("%d %d %d\n", a[i], a[j], a[pos]); ok = 1; } } } if (!ok) puts("No Solution"); } return 0;}
0 0
- 3个数和为0 51Nod
- 51nod 1090 3个数和为0
- 51nod 1090 3个数和为0
- 51nod 1090 3个数和为0 (二分_stl)
- 51 nod 1090 3个数和为0
- 51nod 1090 3个数的和为0
- 51nod 1090 3个数和为0
- 51Nod-1090-3个数和为0
- 51Nod 1090 3个数和为0
- 51nod 1090 3个数和为0(二分)
- 51nod-1090 3个数和为0
- 51nod-【1090 3个数和为0】
- 51nod 1090 3个数和为0
- 51NOD 1090 3个数和为0
- 51Nod 1090 3个数和为0 (二分
- 51nod 1090 3个数和为0(二分)
- 【51Nod】1090 3个数和为0
- 51Nod 1090 3个数和为0
- UVA_12108: Extraordinarily Tired Students
- Gym 100685 A Ariel 位统计
- 证券基础--信用交易。。。未完待继续
- java线程池学习(六) —— 线程池的合理配置
- SPOJ 1771 NQUEEN (DLX解n皇后问题)
- 51nod 1090 3个数和为0
- 关于java中流的使用--文件以及socket
- 南阳oj_(77)开灯问题
- LintCode-两个链表的和
- pat1025PAT Ranking (25)
- 程序员写好简历的五大技巧
- Mac OS X 10.9 启用 Web 服务器(默认预装 Apache+PHP 5.4.17)
- 单播、多播和广播
- 40个Java集合面试问题和答案