本题思路:
Step1:以墙的左下角为原点建立一个坐标系
Step2:创建一个哈希表,把缝隙作为横坐标充当key,把缝隙出现的次数作为value
Step3:两重循环后每个缝隙出现的次数更新完毕,层数 - 最大出现缝隙次数 = 最少穿过的砖块数目
#include<iostream>
#include<unordered_map>
using namespace std;
unordered_map<int,int> map;
int main()
{
int n,c,local,d;
cin >> n;
for(int i = 0;i < n ; i++)
{ cin >> c;
local = 0;
for(int j = 0; j < c; j++)
{
cin >> d;
local += d;
if(j != c - 1) map[local] ++;
}
}
int max = 0;
for(auto m : map)
{if(m.second > max)
max = m.second;
}
cout << n - max << endl;
return 0;
}