[编程题-搜狐]马戏团

[编程题]马戏团

搜狐员工小王最近利用假期在外地旅游,在某个小镇碰到一个马戏团表演,精彩的表演结束后发现团长正和大伙在帐篷前激烈讨论,小王打听了下了解到, 马戏团正打算出一个新节目“最高罗汉塔”,即马戏团员叠罗汉表演。考虑到安全因素,要求叠罗汉过程中,站在某个人肩上的人应该既比自己矮又比自己瘦,或相等。 团长想要本次节目中的罗汉塔叠的最高,由于人数众多,正在头疼如何安排人员的问题。小王觉得这个问题很简单,于是统计了参与最高罗汉塔表演的所有团员的身高体重,并且很快找到叠最高罗汉塔的人员序列。 现在你手上也拿到了这样一份身高体重表,请找出可以叠出的最高罗汉塔的高度,这份表中马戏团员依次编号为1到N。

#include<iostream>
#include<vector>
#include<map>
#include<utility>
#include<algorithm>
using namespace std;
int lcs(vector<int>&a, vector<int>&b)
{
    int m = a.size(), n = b.size();
    vector<vector<int>> dp(m + 1, vector<int>(n + 1, 0));
    for (int i = 0; i<m; i++)
    {
        for (int j = 0; j<n; j++)
        {
            if (a[i] == b[j]) dp[i + 1][j + 1] = dp[i][j] + 1;
            else dp[i + 1][j + 1] = max(dp[i][j + 1], dp[i + 1][j]);
        }
    }
    return dp[m][n];
}
int main()
{
    int n;
    while (cin >> n)
    {
        map<int, vector<int>> hmap;
        map<int, vector<int>> wmap;
        for (int i = 0; i<n; i++)
        {
            int num, h, w;
            cin >> num >> w >> h;
            if (hmap.find(h) == hmap.end())
            {
                vector<int> v;
                v.push_back(num);
                hmap.insert(make_pair(h, v));
            }
            else
            {
                hmap[h].push_back(num);
            }

            if (wmap.find(w) == wmap.end())
            {
                vector<int> v;
                v.push_back(num);
                wmap.insert(make_pair(w, v));
            }
            else
            {
                wmap[h].push_back(num);
            }
        }
        //cout << "hsort  ";
        vector<int> hsort;
        for (auto& x : hmap)
        {
            for (auto& y : x.second)
            {
                hsort.push_back(y);
                //cout << y << ":";
                //cout << x.first << " ";
            }
        }
        //cout << endl;

        //cout << "wsort  ";
        vector<int> wsort;
        for (auto&x : wmap)
        {
            for (auto&y : x.second)
            {
                wsort.push_back(y);
                //cout << y << ":";
                //cout << x.first << " ";
            }
        }
        //cout << endl;
        cout << lcs(hsort, wsort) << endl;
    }
}
时间: 2024-10-05 18:40:33

[编程题-搜狐]马戏团的相关文章

[编程题-搜狐]扎金花

[编程题] 扎金花 两个搜狐的程序员加了一个月班,终于放假了,于是他们决定扎金花渡过愉快的假期 . 游戏规则: 共52张普通牌,牌面为2,3,4,5,6,7,8,9,10,J,Q,K,A之一,大小递增,各四张: 每人抓三张牌.两人比较手中三张牌大小,大的人获胜. 对于牌型的规则如下: 1.三张牌一样即为豹子 2.三张牌相连为顺子(A23不算顺子) 3.有且仅有两张牌一样为对子 豹子>顺子>对子>普通牌型 在牌型一样时,比较牌型数值大小(如AAA>KKK,QAK>534,QQ2

[编程题-搜狐]发奖金

[编程题] 发奖金 狐进行了一次黑客马拉松大赛,全公司一共分为了N个组,每组一个房间排成一排开始比赛,比赛结束后没有公布成绩,但是每个组能够看到自己相邻的两个组里比自己成绩低的组的成绩,比赛结束之后要发奖金,以1w为单位,每个组都至少会发1w的奖金,另外,如果一个组发现自己的奖金没有高于比自己成绩低的组发的奖金,就会不满意,作为比赛的组织方,根据成绩计算出至少需要发多少奖金才能让所有的组满意. 输入描述: 每组数据先输入N,然后N行输入N个正整数,每个数表示每个组的比赛成绩. 输出描述: 输出至

剑指Offer——当当+搜狐+好未来笔试题+知识点总结

剑指Offer--当当+搜狐+好未来笔试题+知识点总结 情景回顾 时间:2016.9.21 15:00-21:00 地点:山东省网络环境智能计算技术重点实验室 事件:当当笔试.搜狐笔试.好未来笔试 3场笔试中好未来相对简单点. 好未来编程题 马踏棋盘(贪心算法) ??马踏棋盘是经典的程序设计问题之一,主要的解决方案有两种:一种是基于深度优先搜索的方法,另一种是基于贪婪算法的方法.第一种基于深度优先搜索(DFS)的方法是比较常用的算法,深度优先搜索算法也是数据结构中的经典算法之一,主要是采用递归的

搜狐2016研发工程师编程题

1.[编程题]马戏团 搜狐员工小王最近利用假期在外地旅游,在某个小镇碰到一个马戏团表演,精彩的表演结束后发现团长正和大伙在帐篷前激烈讨论,小王打听了下了解到, 马戏团正打算出一个新节目“最高罗汉塔”,即马戏团员叠罗汉表演.考虑到安全因素,要求叠罗汉过程中,站在某个人肩上的人应该既比自己矮又比自己瘦,或相等. 团长想要本次节目中的罗汉塔叠的最高,由于人数众多,正在头疼如何安排人员的问题.小王觉得这个问题很简单,于是统计了参与最高罗汉塔表演的所有团员的身高体重,并且很快找到叠最高罗汉塔的人员序列.

2017校招运维岗总结(腾讯+百度+京东+华为+中兴+小米+58+平安科技+搜狐+航天三院+Others)

先总结一下面试过的公司吧,可以为后人选择公司作为参考 前面是我对各公司的评价,不想看的可以直接拉到后面   最寒心的: 腾讯 内推的时候问六级过了吗,没过能毕业吗? 然后聊了10分钟项目就挂了 : )    校招的时候,笔试完了状态直接变成了面试未通过 最糟心的: 百度 内推死于二面,技不如人,甘拜下风    校招死于三面,据说百度今年在哈尔滨只招了15人,而且我也有点作死,投的岗位全国招15个  死于三面不甘心啊 最闹心的: 京东 京东直接校招,然后9月8号发短信让9月10号去北京面试,9月9

如何做内容运营,请向搜狐学习!

第一个原则:建立内容运营的流程化 内容运营,尤其是大规模的内容运营,本质上其实是密集型劳动工作.就拿我所运营的产品举例.我们和竞品的差距除了在产品,运营方面以外,还有一个很重要的原因就是因为缺人.竞品有将近100人的团队专门负责内容,而我们团队只有10个人,并且在这10个人里也只有三人专注内容运营,剩下的都是兼职.但做过内容运营的都知道,找内容源,谈授权,编辑,插图,发布等流程都是极其耗费时间,除了从后台系统上进行优化以外其实也没有太好的办法,但吴晨光和搜狐团队进行摸索,在流程上寻求突破,从而大

我给女朋友讲编程-题外话系列(1)--害怕过七夕,不知道买什么礼物

我女朋友在外地出差,平常能够做的就是打打电话,聊聊天. 下周六就是中国的情人节了. 说实话,也许你们觉得七夕很浪漫,但是我是有一点小恐惧,因为不知道送什么礼物给女朋友好.以前给女朋友送过一些礼物,尽管精心准备,有时难免留有遗憾. 不管怎么说,又是一次情人节,我还是需要精心准备一下,于是花时间来搜索礼物,另外也请朋友们给我出一点建议. 下面是我搜到的一些礼物,想看大图片的朋友可以单击小标题.请大家给点建议. 1, 戒指 曾经在网上买了两对情侣戒指,还刻上了双方名字首字母,满心欢喜送出去,女朋友收到

【搜狐】【实习】【现场面试】【JAVA工程师】2018.03.14

13:30-16:30  从学校出发到返回学校,一共3小时 今年实习第一面,面完估计要凉 先简单说一下经历: 中午赖在床上不想起来,发现自己还是在逃避,逃避面试.逃避现实,磨叽着磨叽着最后迟到了,HR给我打了2个电话,弄得我很尴尬.找到搜狐大厦之后,匆匆忙忙地上电梯,结果一到20层,我就想上厕所,想想其实挺惭愧的,来别人公司还没进行任何交流,就留下一堆排泄物,好像很不道德. HR把我带到茶水间,这也是个小会议室,前后左右都是正在进行的面试,有电话面试,有校招.有社招.等待期间我旁听了一个大叔面试

搜狐新闻APP是如何使用HUAWEI DevEco IDE快速集成HUAWEI HiAI Engine

6月12日,搜狐新闻APP最新版本在华为应用市场正式上线啦! 那么,这一版本的搜狐新闻APP有什么亮点呢? 先抛个图,来直接感受下-- ? 模糊图片,瞬间清晰! 效果杠杠的吧. 而藏在这项神操作背后的幕后操手, 竟然是HUAWEI HiAI Engine的图像超分辨率能力. 通过HUAWEI HiAI的图像超分能力处理的照片, 会更清晰,更锐利! 再看下图-- 就是这么任性~ 除此之外,HUAWEI HiAI Engine还提供了人脸识别. 图片识别.码识别.文本识别. 自然语音处理.自动语音识