沒技巧,純暴力。
#include <bits/stdc++.h>
using namespace std;
vector<pair<int,string>> vec;
int main(){
int n;
cin >> n;
int c[100];
fill(c,c+100,0);
for(int i=0;i<n;i++){
pair<int,string> pr;
cin >> pr.first >> pr.second;
vec.push_back(pr);
}
for(int i=0;i<n;i++){
if(c[i]) continue;
pair<int,string> pr=vec[i];
for(int j=n-1;j>=0;j--){
if(!c[j]&&((pr.first==0&&vec[j].first==1)||pr.first==1&&vec[j].first==0)){
cout << pr.second << " " << vec[j].second << '\n';
c[i]=c[j]=1;
break;
}
}
}
return 0;
}