CF268C. Beautiful Sets of Points
2015-08-22 16:10
197 查看
Manao has invented a new mathematical term — a beautiful set of points. He calls a set of points on a plane beautiful if it meets the following conditions:The coordinates of each point in the set are integers.For any two points from the set, the distance between them is a non-integer.Consider all points (x, y) which satisfy the inequations: 0 ≤ x ≤ n; 0 ≤ y ≤ m; x + y > 0.Choose their subset of maximum size such that it is also a beautiful set of points.InputThe single line contains two space-separated integers n and m (1 ≤ n, m ≤ 100).OutputIn the first line print a single integer — the size k of the found beautiful set. In each of the next k linesprint a pair of space-separated integers — the x- and y-coordinates, respectively, of a point from the set.If there are several optimal solutions, you may print any of them.Sample test(s)input
2 2output
30 11 22 0input
4 3output
40 32 13 04 2NoteConsider the first sample. The distance between points (0, 1) and (1, 2) equals,between (0, 1) and (2, 0) —,between (1, 2) and (2, 0) —.Thus, these points form a beautiful set. You cannot form a beautiful set with more than three points out of the given points. Note that this is not the only solution.题意:找出最多的点的集合,要求各点坐标为整数且各点间距离不为整数显然,最多的点数情况为每一行、每一列都被独立用到且与每点的距离不为整数加上第0行或列,最多的情况就是n、m中较小的那个加1。那么,我们可以构造出确定一点后横坐标、纵坐标同时加1,那么距离永远是若干倍的√2。要构造出这样的情况,则从较大数的最大处、较小数的0开始,一个递减、一个递增,则能保证。
#include <iostream>#include <cstdio>#include <cstring>#include <map>#include <cmath>using namespace std;typedef long long ll;int f[10005];int main(){int n,m;while(~scanf("%d%d", &n, &m)){int t = min(n,m)+1;printf("%d\n", t);if(n >= m){int x = n,y = 0;for(;x>=0 && y<=m;){printf("%d %d\n", x--,y++);}}else{int x = 0,y = m;for(;x<=n && y>=0;){printf("%d %d\n", x++,y--);}}}return 0;}
相关文章推荐
- 浏览器的重绘、回流及网页优化
- HDU1556Color the ball
- jquery+css实现的红色线条横向二级菜单效果
- The one who can give anything you want is only yourself. The rating is the only you should pursue.
- CODE COMPLETE 2e Chapter 7
- Jenkins 的安装与简单使用
- Python TCP服务器
- 2014——我的求职(两)
- PPT是什么
- oc图片压缩与Base46编码
- pat----打印沙漏
- hdu4737区间统计
- tcpdump抓包二进制tcp协议详细分析
- 机器学习 ELKI 使用心得 DBSCAN
- 如何简单判断回文字符
- 浏览器内核、渲染引擎、js引擎
- HDU1166敌兵布阵
- ZJU 2562 More Divisors (反素数)
- 在 Eclipse 下利用 gradle 构建系统
- C语言-9