每日一道思维题——CF268C - Beautiful Sets of Points

题意:当0 ≤ x ≤ n0 ≤ y ≤ mx + y > 0时,由(x, y)构成的集合满足以下条件:

1.集合中每个点的坐标都是整数。
2.对于集合中的任何两个点,它们之间的距离是非整数。

求出集合中坐标最多可以有多少组,并求出此时的坐标(x,y)

思路:

最大元素组数为min(n, m)+1

对角线上的任意两个数一个距离为无理数

由于有条件x + y > 0,我们取副对角线上的数

代码:

#include<iostream>
using namespace std;
int main()
{
  int n, m;
  cin >> n >> m;
  int ans = min(n, m) + 1;
  cout << ans << '\n';
  for(int i = 0; i < ans; i++)
  {
    cout << i << ' ' << ans-1-i << '\n';
  }
    return 0;
}

 

posted on 2023-03-01 14:32  玛卡巴卡要ac  阅读(32)  评论(0)    收藏  举报

导航