Description
小A同学最近接了一个项目,项目的一部分内容是设计朋友圈模块,他在写点赞功能的时候遇到了一点麻烦。
现在他的数据表里面有如下内容信息
zhangsan 1
lisi 2
zhangsan 2
lisi 3
wangwu 1
wangwu 2
wangwu 3
其中每一行的由两部分组成,前面一部分是点赞的人的id(字符串),后面一部分是点赞的朋友圈id(整型),你的任务就是处理这些字符串
Input
输入n+1行,第一行是一个整数n,与一个 朋友圈ID m,接下来n行是数据表的数据项,形如:zhangsan 1
Output
对于某个朋友圈id,若点赞的人数小于等于5人,则输出形如
“a,b,c,d觉得很赞” (a,b,c,d是用户id)
若点赞的人超过5人,则只输出最后点赞的5人,形如
“a,b,c,d,e等5人觉得很赞”。
若没人点赞,输出,“成为第一个点赞的人吧”
Sample Input
10 1
zhangsan 1
lisi 1
a 1
b 1
c 1
d 1
a 2
b 2
c 2
d 2
Sample Output
lisi,a,b,c,d等5人觉得很赞
#include<iostream>
#include<string>
using namespace std;
struct a{
string b;
int c;
};
int main()
{
int d,e;
cin>>d>>e;
a *q=new a[d];
int r=0;
for(int i=0;i<d;i++){
cin>>q[i].b>>q[i].c;
if(q[i].c==e)r++;
}
string *f=new string[r];
int j=0;
for(int i=0;i<d;i++){
if(q[i].c==e){
f[j]=q[i].b;
j++;
}
}
if(r==0){
cout<<"成为第一个点赞的人吧"<<endl;
}
if(r<=5&&r>0){
for(int i=0;i<j-1;i++){
cout<<f[i]<<",";
}
cout<<f[j-1]<<"觉得很赞"<<endl;
}
if(r>5){
for(int i=j-5;i<j-1;i++){
cout<<f[i]<<",";
}
cout<<f[j-1]<<"等5人觉得很赞"<<endl;
}
}