每日一道思维题——CF268C - Beautiful Sets of Points
题意:当0 ≤ x ≤ n; 0 ≤ y ≤ m; x + 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; }
浙公网安备 33010602011771号