• CodeForces


    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.

    Input
    The single line contains two space-separated integers n and m (1 ≤ n, m ≤ 100).

    Output
    In the first line print a single integer — the size k of the found beautiful set. In each of the next k lines print 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.

    Examples
    Input
    2 2
    Output
    3
    0 1
    1 2
    2 0
    Input
    4 3
    Output
    4
    0 3
    2 1
    3 0
    4 2
    Note
    Consider the first sample. The distance between points (0, 1) and (1, 2) equals , between (0, 1) and (2, 0) —根号2, between (1, 2) and (2, 0) — 根号5. 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.

    题目大意:给出x,y的范围,判断在这个范围内满足如下条件的点的数量最多的集合,并输出数量和集合中的每一个坐标。
    条件一;两个点相加必须>0。
    条件二:两个点的坐标必须是整数。
    条件三:两个点的距离必须不是整数。

    解题思路:这道题是思维题,要满足这三个条件,我们可以先min(x,y),求出比较小的一个,所求的点就是min+1,然后我们以比较小的为边长做正方形(长方形的坐标不一定是整数啊),因为要求最多的数量,肯定是要对角线啦…考虑到0,0这个点和条件一,我们取副对角线,从左上到右下即可。AC代码:

    #include <cstdio>
    #include <iostream>
    #include <algorithm>
    using namespace std;
    int main()
    {
    	int n,m;
    	while(cin>>n>>m)
    	{
    		int s=min(n,m);
    		cout<<s+1<<endl;
    		for(int i=0;i<=s;i++)
    		  cout<<i<<" "<<s-i<<endl;
    	}
    	return 0;
    }
    
  • 相关阅读:
    Android中获取屏幕高度和宽度
    Android--第三方控件--okHttp
    Android中获取手机电量信息
    Android中获取并设置屏幕亮度
    ViewPager实现图片的轮播
    ScrollView嵌套使用ListView冲突的解决与分析
    Vue中的MVVM框架
    vue(一)
    RabbitMQ消费端ACK与重回队列机制,TTL,死信队列详解(十一)
    RabbitMQ消费端限流策略(十)
  • 原文地址:https://www.cnblogs.com/Hayasaka/p/14294299.html
Copyright © 2020-2023  润新知