zoukankan      html  css  js  c++  java
  • hdu 6015 Skip the Class

      题目链接:HDU 6015

      一开始读题有点懵,不知道是什么意思,不过后来想到既然是 BestCoder 的题,那么就用它的思维去理解,大胆 yy 题意即可。

      题意大概就是说有 n 们课程,Luras 每逃一门都能得到相应的 value,但同一们课程(前面的字符串完全相同)最多只能逃两次,逃两次后就必须去上这们课了,也就不能再获得这们课的后续的 value 了,问 Luras 最多能获得多少 value。所以对于每们课程,只取它最大的两个值即可,然后累加就是答案了,用一个精巧的 map<string, pair<int, int>> 作为数据结构来处理即可。

    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #include <string>
    #include <map>
    using namespace std;
    typedef pair<int, int> pii;
    
    int main()
    {
        int t,n,v;
        char ss[20];
        map<string, pii> msii;
        scanf("%d", &t);
        while(t--) {
            scanf("%d", &n);
            msii.clear();
            while(n--) {
                scanf("%s %d", ss, &v);
                if(msii.find(ss) == msii.end()) {
                    msii[ss] = make_pair(v,0);
                } else {
                    pii &p = msii[ss];
                    if(p.second == 0) {
                        if(v > p.first) {
                            p.second = p.first;
                            p.first = v;
                        } else {
                            p.second = v;
                        }
                    } else {
                        if(v > p.first) {
                            p.second = p.first;
                            p.first = v;
                        } else if(v > p.second) {
                            p.second = v;
                        }
                    }
                }
            }
            int sum = 0;
            for(map<string, pii>::const_iterator it = msii.begin(); it != msii.end(); ++it) {
                sum += it->second.first + it->second.second;
            }
            printf("%d
    ", sum);
        }
        return 0;
    }
  • 相关阅读:
    代码性能优化-1
    sql调优-1
    2020.11.08 字符串可以是对象
    2020.11.09 JavaScript运算符
    2020.11.10 JavaScript 比较
    2020.11.11
    2020.11.12 条件语句
    2020.11.13 switch语句
    2020.11.14 循环
    2020.11.15
  • 原文地址:https://www.cnblogs.com/Newdawn/p/7397553.html
Copyright © 2011-2022 走看看