计蒜客 第二题 stl map 第一个值保存多值
来源:互联网 发布:杀毒软件知乎 编辑:程序博客网 时间:2024/06/05 03:33
商汤科技近日推出的 SenseVideo 能够对视频监控中的对象进行识别与分析,包括行人检测等。在行人检测问题中,最重要的就是对行人移动的检测。由于往往是在视频监控数据中检测行人,我们将图像上的行人抽象为二维平面上若干个的点。那么,行人的移动就相当于二维平面上的变换。
在这道题中,我们将行人的移动过程抽象为 平移,有两个 移动参数:d_xd
x
和 d_yd
y
。每次行人的移动过程会将行人对应的所有点全部平移,对于平移前的点 (x, y)(x,y),平移后的坐标为 (x + d_x, y + d_y)(x+d
x
,y+d
y
)。
我们现在已知一个行人对应着 nn 个点,坐标分别为 (x_1,y_1),(x_2,y_2)\ldots (x_n,y_n)(x
1
,y
1
),(x
2
,y
2
)…(x
n
,y
n
),平移后的坐标分别为 (x_1’,y_1’),(x_2’,y_2’)\ldots (x_n’,y_n’)(x
1
′
,y
1
′
),(x
2
′
,y
2
′
)…(x
n
′
,y
n
′
)。
很显然,通过平移前后的正确坐标,很容易算出行人的移动参数,但问题没有这么简单。由于行人实际的移动并不会完全按照我们预想的方式进行,因此,会有一部分平移后的坐标结果不正确,但可以确保 结果不正确的坐标数量严格不超过一半。
你现在作为商汤科技的实习生,接手了这个有趣的挑战:算出行人的移动参数。如果不存在一组合法的移动参数,则随意输出一组参数;如果有多种合法的移动参数,输出其中任意一组合法的即可。
输入格式
第一行输入一个整数 n(1 \le n \le 10^5)n(1≤n≤10
5
),表示行人抽象出的点数。
接下来 nn 行,每行 44 个 整数。前两个数表示平移前的坐标,后两个数表示平移后的坐标。
坐标范围在 -10^9−10
9
到 10^910
9
之间。
输出格式
一行两个整数,d_xd
x
和 d_yd
y
,表示行人的移动参数。
一开始想着直接map 但是不知道map第一个元素其实是可以保存两个值的,用一个pair就好,而且可以比较和配对的。
样例输入
5
0 0 1 1
0 1 1 2
1 0 2 1
1 1 0 0
2 1 1 0
样例输出
1 1
弄了个麻烦点的排序,还是太菜。。
#include <bits/stdc++.h>using namespace std;typedef pair<int,int> pp;map<pp,int> mp;int main(){ int n; cin>>n; int a,b,c,d; for(int i=0;i<n;i++) { cin>>a>>b>>c>>d; ++mp[make_pair(c-a,d-b)]; } pp k=make_pair(c-a,d-b); int x=0; for(auto i=mp.begin();i!=mp.end();i++) { if(i->second>x) { k=i->first; x=i->second; } } cout<<(k.first)<<" "<<(k.second)<<endl;}
- 计蒜客 第二题 stl map 第一个值保存多值
- 第一个stl程序
- 第一个STL例子
- 启动第二个activitiy时保存第一个activity中的临时数据
- oracle 查询 两个字段,第一个和第二个字段不为空时,就用第二个字段的值, 否则用第一个字段的
- STL map 按值排序
- STL map 按值排序
- 集算器如何将第一个sql语句中的结果作为第二个sql的参数值
- 由2个值组合成key的STL map排序问题
- 由2个值组合成key的STL map排序问题
- 第一个Google Map 应用
- java Map 一个key其实可以保存多个value
- STL中map按值排序
- stl map容器按值排序
- std::map多个key值
- jquery easy ui中根据第一个下拉框框选中的值,设置第二个下拉框是否可以编辑
- 提示用户输入两个圆的中心坐标和各自的半径值,然后决定第二个圆是否在第一个圆内, 还是和第一个圆重叠
- stl学习--我的第一个容器
- 观察者模式
- 深入理解盒子模型——CSS 盒模型Block box与Line box
- LinearLayout 布局讲解
- caffe 深度学习
- Java多线程之synchronized关键字详解
- 计蒜客 第二题 stl map 第一个值保存多值
- 排序
- 计算Fibonacci数列
- C++引用作为函数参数
- Python中的进程
- python 操作Mariadb 数据库
- VS2012下Win32简单画线功能实现
- Java集合中Map接口的使用方法
- STM32F1x系列——GPIO操作