CCCC-GPLT L2-019. 悄悄关注 团体程序设计天梯赛

新浪微博上有个“悄悄关注”,一个用户悄悄关注的人,不出现在这个用户的关注列表上,但系统会推送其悄悄关注的人发表的微博给该用户。现在我们来做一回网络侦探,根据某人的关注列表和其对其他用户的点赞情况,扒出有可能被其悄悄关注的人。

输入格式:
输入首先在第一行给出某用户的关注列表,格式如下:

人数N 用户1 用户2 …… 用户N

其中N是不超过5000的正整数,每个“用户i”(i=1, …, N)是被其关注的用户的ID,是长度为4位的由数字和英文字母组成的字符串,各项间以空格分隔。

之后给出该用户点赞的信息:首先给出一个不超过10000的正整数M,随后M行,每行给出一个被其点赞的用户ID和对该用户的点赞次数(不超过1000),以空格分隔。注意:用户ID是一个用户的唯一身份标识。题目保证在关注列表中没有重复用户,在点赞信息中也没有重复用户。

输出格式:
我们认为被该用户点赞次数大于其点赞平均数、且不在其关注列表上的人,很可能是其悄悄关注的人。根据这个假设,请你按用户ID字母序的升序输出可能是其悄悄关注的人,每行1个ID。如果其实并没有这样的人,则输出“Bing Mei You”。

输入样例1:
10 GAO3 Magi Zha1 Sen1 Quan FaMK LSum Eins FatM LLao
8
Magi 50
Pota 30
LLao 3
Ammy 48
Dave 15
GAO3 31
Zoro 1
Cath 60
输出样例1:
Ammy
Cath
Pota
输入样例2:
11 GAO3 Magi Zha1 Sen1 Quan FaMK LSum Eins FatM LLao Pota
7
Magi 50
Pota 30
LLao 48
Ammy 3
Dave 15
GAO3 31
Zoro 29
输出样例2:
Bing Mei You

分析:将关注的人存储在集合set里,将点赞的人和点赞的次数存储在map中,并统计点赞的平均次数sum / M,遍历map,如果map的值大于平均次数,且在set中找不到该用户名,就输出当前用户名(因为map中的键是已经按照字典序排序过的,所以直接输出就可以),并用flag标记是否有过输出,如果从始至终没有输出,说明没有悄悄关注的人,就输出Bing Mei You~~~

 

如何判断cin输入结束~

很简单耶

直接判断cin >> a就可以啦

不需要什么EOF和~取反符号哦

输入结束就自动退出循环啦

喵喵喵~

CCCC-GPLT L2-017. 人以群分 团体程序设计天梯赛

社交网络中我们给每个人定义了一个“活跃度”,现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向型(introverted,即活跃度低的)。要求两类人群的规模尽可能接近,而他们的总活跃度差距尽可能拉开。

输入格式:
输入第一行给出一个正整数N(2 <= N <= 105)。随后一行给出N个正整数,分别是每个人的活跃度,其间以空格分隔。题目保证这些数字以及它们的和都不会超过231。

输出格式:
按下列格式输出:
Outgoing #: N1
Introverted #: N2
Diff = N3
其中 N1 是外向型人的个数;N2 是内向型人的个数;N3 是两群人总活跃度之差的绝对值。

输入样例1:
10
23 8 10 99 46 2333 46 1 666 555
输出样例1:
Outgoing #: 5
Introverted #: 5
Diff = 3611
输入样例2:
13
110 79 218 69 3721 100 29 135 2 6 13 5188 85
输出样例2:
Outgoing #: 7
Introverted #: 6
Diff = 9359

分析:接收所有数据到数组v中,并且将所有数据的总和累加为sum,然后对数组从小到大排序,计算前一半的总和为half,那么外向的人的个数就为(n + 1) / 2,因为如果n是偶数就是n/2,如果n是奇数就是n/2 + 1,总的来说就是(n + 1) / 2,内向的人的个数就是n/2,两者之间的差就是(sum – half) – half 即 sum – 2 * half ~~

L1-040. 最佳情侣身高差 团体程序设计天梯赛GPLT

专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09=(男方的身高)。如果符合,你俩的身高差不管是牵手、拥抱、接吻,都是最和谐的差度。

下面就请你写个程序,为任意一位用户计算他/她的情侣的最佳身高。

输入格式:
输入第一行给出正整数N(<=10),为前来查询的用户数。随后N行,每行按照“性别 身高”的格式给出前来查询的用户的性别和身高,其中“性别”为“F”表示女性、“M”表示男性;“身高”为区间 [1.0, 3.0] 之间的实数。

输出格式:
对每一个查询,在一行中为该用户计算出其情侣的最佳身高,保留小数点后2位。

输入样例:
2
M 1.75
F 1.8
输出样例:
1.61
1.96

分析:特别注意的是,如果使用scanf,在用scanf接收字符c之前,记得加一个\n,否则可能c把\n接收进去导致错误输出~

 

CCCC-GPLT L1-039. 古风排版 团体程序设计天梯赛

中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。

输入格式:
输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。

输出格式:
按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)

输入样例:
4
This is a test case
输出样例:
asa T
st ih
e tsi
ce s

分析:先根据字符串的长度s.length()和n计算出col列数,然后建立一个n行col列的字符数组,一开始都赋值为空格,然后根据先最后一列再倒数第二列依次向前,行数从0~n-1的顺序依次将s[index]的值填入vector中,直到s的所有字符都填完为止,最后输出这个字符数组~