#排列组合
查看原帖
#排列组合
402764
XZIT20200508146楼主2021/1/6 17:26
#include<iostream>
#include<bits/stdc++.h>
#include<algorithm>
using namespace std;
bool flag[10000001];
int main(){
	int n,ans=0,num[100];
	cin>>n;//读入数据量 
	for(int i=0;i<n;i++)	{ 
		cin>>num[i];//读入数据 
		flag[num[i]]=1;//假定每个数字均可在集合中找到两数,两数和为本身 
	}
	for(int i=0;i<n-1;i++)	{
		for(int j=i+1;j<n;j++)	{//排列组合 
			if(flag[num[i]+num[j]])		{//若两数和包含在集合中 
				ans++;
				flag[num[i]+num[j]]=0;//找到一种某数的拆分数对,去重 
			}
		}
	}
	cout<<ans;
	return 0;
}
2021/1/6 17:26
加载中...