6.14 VJ B – Princesses and Princes

#include<bits/stdc++.h>
#define ll long long
#define speed_up ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
using namespace std;
/*
用一个数组标记王子,0表示单身,1表示已经配对
*/
int main()
{
    speed_up;
    int t;
    int m[100005]={0};//数组初始化为0
    cin>>t;
    while(t--)
    {
        int n,v,f2=0;//f2判断是否有未配对的公主
        cin>>n;
        for(int i=0; i<n; i++)
        {
            int nn,a,f=0;
            cin>>nn;
            for(int j=0; j<nn; j++)
            {
                cin>>a;
                if(f==0&&m[a]==0)
                {
                        m[a]=1;
                        f=1;//f用来标记公主是否能找到合适的王子
                }
            }
            if(f==0)
            {
                f2=1;
                v=i+1;//v值记录第几个公主没有能匹配的王子
            }
        }
        if(f2==0)
        {
            cout<<"OPTIMAL"<<endl;
        }
        else
        {
            cout<<"IMPROVE"<<endl;
            cout<<v<<" ";
            for(int i=1; i<=n; i++)
            {
                if(m[i]==0)//输出第一个单身的王子下标
                {
                    cout<<i<<endl;
                    break;
                }
            }
        }
        for(int i=1;i<=n;i++)
        {
            m[i]=0;//还原数组为0
        }
    }
}

原文链接: https://www.cnblogs.com/SyrupWRLD999/p/13125410.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    6.14 VJ B - Princesses and Princes

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/355054

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午9:02
下一篇 2023年3月2日 上午9:03

相关推荐