本文主要是介绍A. So I‘ll Max Out My Constructive Algorithm Skills---2021澳门ICPC,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Problem - A - Codeforces
题意:
一个n*n的矩阵,找一个路径,经过所有的点,并且上升次数不大于下降次数。
解析:
直接蛇形构造路径,然后正序和逆序哪个下降多就输出哪个
#include<bits/stdc++.h>
using namespace std;
const int N=100;
int t,n,a[N][N];
signed main(){scanf("%d",&t);while(t--){scanf("%d",&n);for(int i=1;i<=n;i++){for(int j=1;j<=n;j++)scanf("%d",&a[i][j]); }vector<int>v;for(int i=1;i<=n;i++){if(i%2==0){for(int j=1;j<=n;j++) v.push_back(a[i][j]);}else{for(int j=n;j>=1;j--) v.push_back(a[i][j]);}}int cnt=0;for(int i=0;i<n*n-1;i++){if(v[i]<v[i+1]) cnt++;}if(cnt<=n*n-1-cnt){int f=1;for(int i=0;i<n*n;i++){if(f) f=0;else printf(" ");printf("%d",v[i]);}}else{int f=1;for(int i=n*n-1;i>=0;i--){if(f) f=0;else printf(" ");printf("%d",v[i]);}}puts("");}return 0;
}
这篇关于A. So I‘ll Max Out My Constructive Algorithm Skills---2021澳门ICPC的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!