
本质就是选两个数,但是要按照字典序输出,也不能要相同的二元组,所以我们想到了排序+去重
#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
using namespace std;
#define x first
#define y second
typedef pair<int,int> PII;
const int N=35;
int q[N];
vector<PII>ans;
int n;
int main()
{
cin>>n;
for(int i=0;i<n;i++)cin>>q[i];
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(i==j)continue;//不能重复选取自身
ans.push_back({q[i],q[j]});//存储二元组
}
}
sort(ans.begin(),ans.end());//给二元组排序
ans.erase(unique(ans.begin(),ans.end()),ans.end());//去重
for(auto &i:ans)//字符串处理
{
string res="(";
res+=to_string(i.x);
res+=",";
res+=to_string(i.y);
res+=")";
cout<<res<<endl;
}
}
882

被折叠的 条评论
为什么被折叠?



