【hihoCoder 1494】一面砖墙

一面砖墙(题目链接)

思路

用map统计每一层墙上的所有缝隙到左边的距离。(距离,缝隙出现次数)键值对使用map来存放。缝隙越多,则划线时穿过的砖块越少。

资料

STL关联式容器之map和multimap

代码

#include <iostream>
#include <set>
#include <map>
using namespace std;
#define LOCAL 0


map<int,int> m;
int main(){ 
//是否重定向  
#if LOCAL
    freopen ("datain.txt","r",stdin);
    freopen ("dataout.txt","w",stdout);
#endif
    
    int n,c;
    cin >> n;
    for(int i = 0;i < n; i++){
        cin >> c;
        int tmp,sum = 0;
        for(int j = 0; j < c; j++){
            cin >> tmp;
            if(j == c-1){//最后不统计,但是必须先输入 
                break;
            }
            sum += tmp;
            //不存在key时,value的初始值未知 
//          if(m.find(sum) != m.end()){
                m[sum]++;               
//          }
//          else{
//              m[sum] = 1;
//          }                   
        }       
    }
    int max = 0;
    map<int,int>::iterator p;
    for(p = m.begin();p != m.end();++p){
        if(p->second > max){
            max = p->second;
        }
    }
    cout << n-max << endl;
    return 0;
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • STL(标准模板库),是目前C++内置支持的library。它的底层利用了C++类模板和函数模板的机制,由三大部分...
    岁与禾阅读 39,433评论 3 132
  • STL部分 1.STL为什么广泛被使用 C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vec...
    杰伦哎呦哎呦阅读 4,480评论 0 9
  • 一、C语言基础 1、struct 的内存对齐和填充问题其实只要记住一个概念和三个原则就可以了: 一个概念:自然对齐...
    XDgbh阅读 2,357评论 1 38
  • 教你如何迅速秒杀掉:99%的海量数据处理面试题 本文经过大量细致的优化后,收录于我的新书《编程之法》第六章中,新书...
    Helen_Cat阅读 7,603评论 1 39
  • 标签(空格分隔): STL 运用STL,可以充分利用该库的设计,让我为简单而直接的问题设计出简单而直接的解决方案,...
    认真学计算机阅读 1,605评论 0 10

友情链接更多精彩内容