Question 205.2022 Winter Holiday Ladder Competition Training-7-5 One Gang One (15 points)


Question 205.2022 Winter Holiday Ladder Competition Training-7-5 One Gang One (15 points)


1. The topic

insert image description here

2. Problem solving

#include <bits/stdc++.h>

using namespace std;

int flag[100];

struct Student
{
    
    
    int sex;
    string name;
    int cp;
}S[100];//用一个结构体数组去存该学生的名字,性别以及是否配对

int main()
{
    
    
    int N;
    cin>>N;
    for(int i=1;i<=N;i++)
    {
    
    
        cin>>S[i].sex>>S[i].name;
        S[i].cp=0;
    }
    for(int i=1;i<=N;i++)
    {
    
    
        for(int j=N;j>0;j--)
        {
    
    
            if(S[i].cp==0&&S[i].sex!=S[j].sex&&S[j].cp==0)//i从前往后走,j从后往前走,去看i,j两个学生是否满足匹配需求即可
            {
    
    
                S[i].cp=j;
                S[j].cp=i;
                break;
            }
        }
    }
    for(int i=1;i<=N;i++)
    {
    
    
        if(flag[i]==0&&flag[S[i].cp]==0)
        {
    
    
            cout<<S[i].name<<" "<<S[S[i].cp].name<<endl;
            flag[i]=1;flag[S[i].cp]=1;
        }
    }
}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324346847&siteId=291194637