解析;
由于坐标必须为整数,并且距离不能为整数,则同行同列不能存在多个"好点"。
则每行每列只能放一个点,所以最多的点数量即为 min(n,m)+1
cpp
#include<bits/stdc++.h>
using namespace std;
int n,m;
int main(){
scanf("%d%d",&n,&m);
cout<<min(n+1,m+1)<<endl;
if(n<m){
for(int i=n;i>=0;i--){
cout<<i<<" "<<n-i<<endl;
}
}
else{
for(int i=m;i>=0;i--){
cout<<m-i<<" "<<i<<endl;
}
}
return 0;
}