7-14 电话聊天狂人

7-14 电话聊天狂人(25 分)

给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人。

输入格式:

输入首先给出正整数N(≤10?5??),为通话记录条数。随后N行,每行给出一条通话记录。简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔。

输出格式:

在一行中给出聊天狂人的手机号码及其通话次数,其间以空格分隔。如果这样的人不唯一,则输出狂人中最小的号码及其通话次数,并且附加给出并列狂人的人数。

输入样例:

4
13005711862 13588625832
13505711862 13088625832
13588625832 18087925832
15005713862 13588625832

输出样例:

13588625832 3思路:使用结构体数组来存取,每次输入查找数组中是否存在,不存在则插入,否则个数加一,但是当N最大且随机时,运行超时。明天改成vector试试。

#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<iostream>
using namespace std;
struct Node{
    long long numb;
    int n;
}a[200005];
bool cmp(Node a, Node b)
{
    return a.n > b.n;
}
int main()
{
    int n, sum = 0; cin >> n;
    for (int i = 0; i < n; i++)
    {
        long long numb1, numb2;
        cin >> numb1 >> numb2;
        int flag = 1;
        for (int i = 0; i < sum;i++)
        if (a[i].numb == numb1){
            a[i].n++; flag = 0; break;
        }
        if (flag){
            a[sum].numb = numb1;
            a[sum].n = 1; sum++;
        }

        flag = 1;
        for (int i = 0; i < sum; i++)
        if (a[i].numb == numb2){
            a[i].n++; flag = 0; break;
        }
        if (flag){
            a[sum].numb = numb2;
            a[sum].n = 1; sum++;
        }
    }
    sort(a, a + sum, cmp);
    int flag = 1; long long min = a[0].numb;
    for (int i = 1; i < sum; i++)
    {
        if (a[i].n != a[0].n)break;
        flag++;
        if (a[i].numb < min)min = a[i].numb;
    }
        if (flag == 1)cout << a[0].numb << " " << a[0].n << endl;
        else cout << min << " " << a[0].n << " " << flag << endl;
    return 0;
}

暴力未AC代码

http://blog.csdn.net/duan19920101/article/details/50617190/


原文地址:https://www.cnblogs.com/zengguoqiang/p/8451230.html

时间: 2024-11-08 23:37:54

7-14 电话聊天狂人的相关文章

电话聊天狂人

11-散列1 电话聊天狂人   (25分) 给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人. 输入格式: 输入首先给出正整数N(≤10?5??),为通话记录条数.随后N行,每行给出一条通话记录.简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔. 输出格式: 在一行中给出聊天狂人的手机号码及其通话次数,其间以空格分隔.如果这样的人不唯一,则输出狂人中最小的号码及其通话次数,并且附加给出并列狂人的人数. 输入样例: 4 13005711862 135886258

5-14 电话聊天狂人 (25分)

给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人. 输入格式: 输入首先给出正整数NN(\le 10^5≤10?5??),为通话记录条数.随后NN行,每行给出一条通话记录.简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔. 输出格式: 在一行中给出聊天狂人的手机号码及其通话次数,其间以空格分隔.如果这样的人不唯一,则输出狂人中最小的号码及其通话次数,并且附加给出并列狂人的人数. 输入样例: 4 13005711862 13588625832 135057118

PTA 5-14 电话聊天狂人 (25分)

给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人. 输入格式: 输入首先给出正整数NN(\le 10^5≤10?5??),为通话记录条数.随后NN行,每行给出一条通话记录.简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔. 输出格式: 在一行中给出聊天狂人的手机号码及其通话次数,其间以空格分隔.如果这样的人不唯一,则输出狂人中最小的号码及其通话次数,并且附加给出并列狂人的人数. 输入样例: 4 13005711862 13588625832 135057118

7-14 电话聊天狂人(25 分)

给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人. 输入格式: 输入首先给出正整数N(≤10?5??),为通话记录条数.随后N行,每行给出一条通话记录.简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔. 输出格式: 在一行中给出聊天狂人的手机号码及其通话次数,其间以空格分隔.如果这样的人不唯一,则输出狂人中最小的号码及其通话次数,并且附加给出并列狂人的人数. 输入样例: 4 13005711862 13588625832 13505711862 1308862

7-113 电话聊天狂人 (25分)

给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人. 输入格式: 输入首先给出正整数N(≤),为通话记录条数.随后N行,每行给出一条通话记录.简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔. 输出格式: 在一行中给出聊天狂人的手机号码及其通话次数,其间以空格分隔.如果这样的人不唯一,则输出狂人中最小的号码及其通话次数,并且附加给出并列狂人的人数. 输入样例: 4 13005711862 13588625832 13505711862 13088625832 1

基础实验5-2.2 电话聊天狂人 (25分)-散列表

解题思路: 用散列表(链表结构) 1.计算散列表长度(取比输入数据大一点的素数p) 2.构造散列函数 3.读入数据,求出散列位置插入 4.一边遍历散列表,一边求出现最多的电话狂人 #include <stdio.h> #include <malloc.h> #include <string.h> #include <math.h> #define KeyLength 11 #define ElemType char typedef enum {false,t

郁闷心情——电话聊天排解法

昨天下午的心情非常的糟糕,就像北京的天气一样,阴霾霭霭,没有蓝天,没有白云,没有微风,甚至连亲爱的太阳都看不到.当然,我的自我调节能力还是有的,我不希望他人的负面情绪影响到我,我不希望自己传递出去的是一些负面的信息,我也更不希望重复犯同样的错误或者总是受他人的掣肘.所以,我提醒自己要不断的学习,不断的提升和完善自我,虽然,我也觉得自己不是一个特别聪明的人,不过每天进步一点点,坚持下去,持续不断的进步,至少能够不断的超越自我也是一件极为开心的事情. 事情是这样的,我现在的工作是比较杂的,有三四个项

PTA数据结构与算法题目集(中文) 7-14

PTA数据结构与算法题目集(中文)  7-14 7-14 电话聊天狂人 (25 分) 给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人. 输入格式: 输入首先给出正整数N(≤),为通话记录条数.随后N行,每行给出一条通话记录.简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔. 输出格式: 在一行中给出聊天狂人的手机号码及其通话次数,其间以空格分隔.如果这样的人不唯一,则输出狂人中最小的号码及其通话次数,并且附加给出并列狂人的人数. 输入样例: 4 130057

191027时间安排

总结我前几次的安排,太相信自己,过于自信,忘记了自己已不是从前的自己,一下子跨越太大,导致自己这几天焦虑,然而忘记了我还有完完整整的一年,眼光短浅.进而导致学习效率不增反倒低了很多. 起床过早,工作前是能做到,但是工作时习惯7点(双休日8.9点)左右醒,突然5点多,身体定是会反抗的,如今稳定在6:30左右. 娱乐时间较少,工作时每天2个小时的娱乐.游戏时间,前两个星期过渡到一个小时,然而这个星期直接骤减至0,这周的前几天还行,但是脑子的意志力很快会被耗光了,导致后几天和有网瘾一样,痛苦! 时间安