题目描述:
输入描述:
输出描述:
样例:
解释:
题意:有两个人,男的想离女的尽量近,女的想离男的尽量远,男的先选,现在可以把0-n*m-1个位置变成不能选择(女生可以随便选择)。问:每个状态下,男生离女生最近的距离
思路:女生只会选择四个角上的位置 ,然后遍历整张图的所有位置,把所有位置到四个点的最大位置存下来,然后排序即可
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main(){
ios::sync_with_stdio(false);
int t;
cin >> t;
ll n, m;
vector<int> ve;
while(t--){
cin >> n >> m;
ve.clear();
for(int i = 1; i <= n; i++){
for(int l = 1; l <= m; l++){
int a = abs(i - 1) + abs(l - 1);
int b = abs(i - 1) + abs(m - l);
int c = abs(n - i) + abs(l - 1);
int d = abs(n - i) + abs(m - l);
int ans = max(a, max(b, max(c, d)));
ve.push_back(ans);
}
}
sort(ve.begin(), ve.end());
for(int i = 0; i < n * m; i++){
if(i != 0){
cout << " ";
}
cout << ve[i];
}
cout << endl;
}
return 0;
}