• 深信服--厨师造饭


    主要是输入很烦,是将回车键做为分隔符。

     1 #include<iostream>
     2 #include<vector>
     3 #include<map>
     4 #include<stdio.h>
     5 using namespace std;
     6 
     7 int getRes(vector<int> init) {
     8     // 用一个map吧
     9     map<int, int> mord;
    10     int i = 0;
    11     int res = 0;
    12     while (init[i] != 7) {
    13         if (mord.size() < 3) {   // 灶台还没有三个 0,1,2,数字越大越久
    14             mord.insert(make_pair(init[i], 2 - mord.size()));
    15         }
    16         else {
    17             if (mord.count(init[i]) > 0) { // 如果灶台有这个锅
    18                 // 比它小的加1,自己置为0
    19                 map<int, int>::iterator it = mord.begin();
    20                 for (; it != mord.end(); ++it) {
    21                     if (it->second < mord[init[i]]) {
    22                         it->second++;
    23                     }
    24                 }
    25                 mord[init[i]] = 0;
    26             }
    27             else {    // 如果没有这个锅
    28                 // 删除数字最大的,其他的加1,最后插入新元素并为0
    29                 map<int, int>::iterator it = mord.begin();
    30                 for (; it != mord.end(); ++it) {
    31                     if (it->second == 2) {
    32                         mord.erase(it);
    33                         break;
    34                     }
    35                 }
    36                 for (it = mord.begin(); it != mord.end(); ++it) {
    37                     it->second++;
    38                 }
    39                 mord.insert(make_pair(init[i], 0));
    40                 res += 6;
    41             }
    42         }
    43         ++i;
    44         res += 15;
    45     }
    46     return res;
    47 }
    48 
    49 int main() {
    50     vector<int> init;
    51     char c;
    52    while((c=getchar())) {
    53        if (c != '
    ') {
    54            init.push_back(static_cast<int>(c - '0'));
    55        }
    56        if (c == '7') break;
    57    }
    58    int a = getRes(init);
    59    cout << a;
    60 }
    心之所愿,永不相忘
  • 相关阅读:
    oc 谓词
    NSFileHandle、NSFileMange
    writetofile 与 NSFileHandle
    IOS SQLite数据库
    在iPhone项目中使用讯飞语音SDK实现语音识别和语音合成
    iOS编程规范
    CocoaPods
    ASIHTTPRequest类库简介和使用说明---数据库做缓存
    FMDB使用(转载)
    UITextField使用
  • 原文地址:https://www.cnblogs.com/zgll/p/15422765.html
Copyright © 2020-2023  润新知