OpenJudge NOI 2.1 6184:找和为K的两个元素
admin
2024-02-14 13:59:53

【题目链接】

OpenJudge NOI 2.1 6184:找和为K的两个元素

【题目考点】

1. 枚举

【解题思路】

  • 枚举对象:两个数
  • 枚举范围:整个序列
  • 判断条件:这两个数的和为k

枚举数组中的两个数的方法:
x从第1个数遍历到倒数第二个数,y从x的后一个数遍历到最后一个数,那么(x,y)就是枚举取出的一个数对。

对于下标从0开始到n-1的数组

  • 第一个数下标i从0循环到n-2
  • 第二个数下标j从i+1循环到n-1

对于下标从1开始到n的数组

  • 第一个数下标i从1循环到n-1
  • 第二个数下标j从i+1循环到n

【题解代码】

解法1:枚举

  • 写法1:数组下标从0开始
#include
using namespace std;
int main()
{int n, k, a[1005];cin >> n >> k;for(int i = 0; i < n; ++i)cin >> a[i];for(int i = 0; i < n; ++i)for(int j = i+1; j < n; ++j){if(a[i]+a[j] == k){cout << "yes";return 0;}}cout << "no";return 0;
}
  • 写法2:数组下标从1开始
#include 
using namespace std;
int main()
{int n, k, a[1005];cin >> n >> k;for(int i = 1; i <= n; ++i)cin >> a[i];for(int i = 1; i <= n; ++i)for(int j = i+1; j <= n; ++j){if(a[i]+a[j] == k){cout << "yes";return 0;}}cout << "no";return 0;
}

相关内容

热门资讯

从山海古城到青春乐场,日照的滨... 中新网日照11月19日电(记者 左宇坤)深秋时节,山东日照莒县浮来山上的“天下银杏第一树”迎来一年中...
重构温泉体验:项目实践与发展路... 传统温泉同质化、体验形式单一的问题日益凸显,难以满足当下游客对个性化、沉浸式、多功能消费的需求。随着...
原创 非... 面对急需帮助的人,我们会先选择帮助,还是先拍照呢?如果这是发生在10年前,肯定不用多想,大家一定会第...
原创 非... 茶馓又名油面、馓子,是江苏知名传统点心,其中以淮安茶馓最富胜名。 01 追溯历史 淮安茶馓起源于战国...