『ACM C++』 PTA 天梯赛练习集L1 | 034-035 点赞 情人节

  在一个团队里,一群人一起为一件事情努力奋斗的过程,真的很值得享受,真希望我能拥有很多这样的团队。

------------------------------------------------L1-034----------------------------------------------------------

微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。本题就要求你写个程序,通过统计一个人点赞的纪录,分析这个人的特性。

输入格式:

输入在第一行给出一个正整数N(≤),是该用户点赞的博文数量。随后N行,每行给出一篇被其点赞的博文的特性描述,格式为“F1​​FK​​”,其中1,Fi​​(,)是特性标签的编号,我们将所有特性标签从1到1000编号。数字间以空格分隔。

输出格式:

统计所有被点赞的博文中最常出现的那个特性标签,在一行中输出它的编号和出现次数,数字间隔1个空格。如果有并列,则输出编号最大的那个。

输入样例:

4
3 889 233 2
5 100 3 233 2 73
4 3 73 889 2
2 233 123

输出样例:

233 3

------------------------------------------------L1-034----------------------------------------------------------

注解:水题,主要是把握次数最大项的保存,难度不大

#include<stdio.h>
struct max
{
    int count = 0;
    int pos = -1;
}m;
int times,K;
int temp[99999999];
int main()
{
    scanf("%d",&times);
    for(int i = 0;i<times;i++)
    {
        scanf("%d",&K);
        for(int u = 0;u<K;u++)
        {
            int p;
            scanf("%d",&p);
            temp[p]++;
            if(temp[p] > m.count)
            {
                m.count = temp[p];
                m.pos = p;
            }
            else if(temp[p] == m.count && p > m.pos)
            {
                m.count = temp[p];
                m.pos = p;
            }
        }
    }
    printf("%d %d",m.pos,m.count);
    return 0;
}

------------------------------------------------L1-035----------------------------------------------------------

情人节

『ACM C++』 PTA 天梯赛练习集L1 | 034-035
点赞
情人节

以上是朋友圈中一奇葩贴:“2月14情人节了,我决定造福大家。第2个赞和第14个赞的,我介绍你俩认识…………咱三吃饭…你俩请…”。现给出此贴下点赞的朋友名单,请你找出那两位要请客的倒霉蛋。

输入格式:

输入按照点赞的先后顺序给出不知道多少个点赞的人名,每个人名占一行,为不超过10个英文字母的非空单词,以回车结束。一个英文句点.标志输入的结束,这个符号不算在点赞名单里。

输出格式:

根据点赞情况在一行中输出结论:若存在第2个人A和第14个人B,则输出“A and B are inviting you to dinner...”;若只有A没有B,则输出“A is the only one for you...”;若连A都没有,则输出“Momo... No one is for you ...”。

输入样例1:

GaoXZh
Magi
Einst
Quark
LaoLao
FatMouse
ZhaShen
fantacy
latesum
SenSen
QuanQuan
whatever
whenever
Potaty
hahaha
.

输出样例1:

Magi and Potaty are inviting you to dinner...

输入样例2:

LaoLao
FatMouse
whoever
.

输出样例2:

FatMouse is the only one for you...

输入样例3:

LaoLao
.

输出样例3:

Momo... No one is for you ...

------------------------------------------------L1-035----------------------------------------------------------

注解:难度不大,利用函数strcpy可以巧妙解决:

#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
char A[9999];
char B[9999];
char temp[99999];
int i;
int main()
{
    for(i = 0;temp[0] != '.';)
    {
        scanf("%s",&temp);
        if(temp[0] == '.') break;
        if(i == 1) strcpy(A,temp);
        else if(i == 13) strcpy(B,temp);
        i++;
    }
    if(i<2) printf("Momo... No one is for you ...
");
    else if(i<13) cout<<A<<" is the only one for you...
";
    else if(i>=13) cout<<A<<" and "<<B<<" are inviting you to dinner...
";
    return 0;
}

注:如果有更好的解法,真心希望您能够评论留言贴上您的代码呢~互相帮助互相鼓励才能成长鸭~~