无名选手


私信TA

用户名:qwer123456

访问量:10040

签 名:

qwer123456

等  级
排  名 837
经  验 3498
参赛次数 10
文章发表 25
年  龄 0
在职情况 学生
学  校 某知名大专
专  业

  自我简介:

解题思路:

注意事项:

参考代码:

#include<iostream>
#include<map>
using namespace std;
map<string,int>l;
int main()
{
 int t;
 cin>>t;
 while(t--)
 {   int n;
  cin>>n;
  string s[100][2];
  for(int i=0;i<n;i++)
  {                          //map自带红黑桃升序排序 
   cin>>s[i][0]>>s[i][1];//输入两个备胎 
   if(!l.count(s[i][0]))//找出初恋 
   {
    l[s[i][0]]=0;//进行标记表示初恋 
   }
   if(!l.count(s[i][1]))//当第二个备胎出现过就意味着前面出现过该备胎数,不然就进行标记 
   {
    l[s[i][1]]=1;//第二任女友 
   }else
   {
    l[s[i][1]]++;
   }
  }
  while(l.size())
  {
   map<string,int>::iterator iter=l.begin();//得到第一个值 
   while(1)
   {
    if(iter->second==0)  //当女友前面没有前女友时进行输出 
    {
     cout<<iter->first<<" ";
     for(int i=0;i<n;i++)//这里很重要 
     {                    
      if(s[i][0]==iter->first)//如果当前女友出现过了,下一个小三要想上位 
      l[s[i][1]]--;          //所以要进行减一 
     } 
     l.erase(iter->first);//甩掉当前女友 
     break;
    }
    else
    iter++;//下一个小三开始上位 
   }
  }
   cout<<endl;
 }
 return 0;
}


 

0.0分

2 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

woc!ORZ!
2021-05-31 21:36:44
请问一下,这个L容器没有进行insert  那它就不是没有存放我们的目标数据吗?那既然都没有存放数据,为什么还可以用L的各种函数?
望求解!
2020-03-22 11:14:38
nb哈哈哈哈
2020-01-31 16:38:24
  • «
  • 1
  • »