• 2020/3/6 美丽数组


    题目

    小明是个普通的计算机本科生,很喜欢研究数组相关的问题。在他的认知里,美丽的数组是这样的,对于一个长度为n的数组a,存在一个下标i(1<=i<=n)使得1i之间的数是严格递增的,i+1n之间的数是严格递减的。现在这个数组a里的元素是随机给定的(这个数组可能是不美丽的),对于数组a内的任意一个元素ai我们可以进行若干次ai=ai-1(ai>0)的操作,问能否通过若干次操作使得这个数组变得美丽。

    思路分析

    1、我们通过对题目的解读,可以知道,每一个折点i都会对数组其他元素产生特定的最低要求,只需要对数组中的每一个元素进行判断,若该元素小于其特定要求,则不满足条件,需对下一个a[i]进行重复判断。
    2、最终只需判断i在所给的数组中即可。

    代码

    #include <cstdio>
    #include <iostream>
    #include <cmath>
    using namespace std;
    int main()
    {
    	int n,k,i,j;
    	cin>>n;
    	int a[n];
    	for(i=0;i<n;i++)cin>>a[i];
    	for(i=0;i<n;i++)//求a[i]的最低要求 
    	{
    		k=(n-1+abs(n-1-2*i))/2;
    		if(a[i]<k)continue;
    		for(j=0;j<i;j++)
    		if(a[j]<j)break;
    		if(j!=i) continue;
    		for(j=n-1;j>i;j--)
    		if(a[j]<n-j-1)break;
    		if(j!=i) continue;
    		break;
    	}
    	if(i<n)cout<<"Yes"<<endl;
    	else cout<<"No"<<endl;
    	return 0;
    }
    
  • 相关阅读:
    httpsqs消息队列
    Memcache 配置和使用
    nyist 68三点顺序
    nyist 67三角形面积
    rwkj 1363 正方形 长方形 三角形面积
    rwkj 1359 友元:两点距离
    rwkj 1357 矩形--面积-周长
    rwkj 1356 点与矩形
    rwkj 1354 圆周长与面积
    rwkj 1327 圆柱体体积
  • 原文地址:https://www.cnblogs.com/CNLLB/p/12427744.html
Copyright © 2020-2023  润新知