植物摆放

植物摆放

题目描述

桐桐在玩植物大战僵尸这款游戏。游戏中有很多种植物武器供桐桐选择,每种植物有固定的攻击力,桐桐可以直接把植物摆放在草坪上打僵尸,为了简化问题,我们假设草坪现在只有1行n列,桐桐有n棵植物武器,第i棵植物的攻击力为ai,现在他把这n棵植物摆放到草坪的1到n的位置中,每棵植物的位置由他决定,桐桐想知道可不可以通过摆放,使得对于一切0<i<n-2,第i个位置土植物的攻击力bi满足条件
((bi<bi+1)and(bi+1>bi+2))or((bi>bi+1)and(bi+1<bi+2)).

输入

第1行是一个整数d,表示有d组数。
对于每一组数,首先第1行一个正整数n,第2行n个整数表示ai。

输出

对于每一组数,如果可以通过摆放而满足题目的条件则输出“Yes”,否则输出“No”。

样例输入

2
5
3 3 3 5 2
6
3 3 1 5 2 2

样例输出

No
Yes

提示

30%的数据:d≤10,3≤n≤100;

100%的数据:d≤100,3≤n≤10000,1≤a≤109

分析:排序,分成两半,分别把较大的一半放奇数位和把小的一半放奇数位,然后检查一下即可;

代码:

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#include <climits>
#include <cstring>
#include <string>
#include <set>
#include <map>
#include <queue>
#include <stack>
#include <vector>
#include <list>
#include <bitset>
#define rep(i,m,n) for(i=m;i<=n;i++)
#define rsp(it,s) for(set<int>::iterator it=s.begin();it!=s.end();it++)
#define vi vector<int>
#define pii pair<int,int>
#define mod 1000000007
#define inf 0x3f3f3f3f
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define ll long long
#define pi acos(-1.0)
const int maxn=1e6+10;
const int dis[4][2]={{0,1},{-1,0},{0,-1},{1,0}};
using namespace std;
ll gcd(ll p,ll q){return q==0?p:gcd(q,p%q);}
ll qpow(ll p,ll q){ll f=1;while(q){if(q&1)f=f*p;p=p*p;q>>=1;}return f;}
int n,m,a[maxn],ans[maxn];
bool check(int p)
{
    int j=0;
    if(p==0)
    {
        for(int i=0;i<n;i+=2)
            ans[i]=a[j++];
        for(int i=1;i<n;i+=2)
            ans[i]=a[j++];
    }
    else
    {
        for(int i=1;i<n;i+=2)
            ans[i]=a[j++];
        for(int i=0;i<n;i+=2)
            ans[i]=a[j++];
    }
    int cnt1=0,cnt2=0;
    for(int i=1;i<n;i+=2)
    {
        if(ans[i]>ans[i-1])cnt1++;
        else if(ans[i]<ans[i-1])cnt2++;
        else return false;
        if(i+1<n)
        {
            if(ans[i]>ans[i+1])cnt1++;
            else if(ans[i]<ans[i+1])cnt2++;
            else return false;
        }
    }
    if(!cnt1||!cnt2)return true;
    else return false;
}
int main()
{
    int i,j,k,t;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        rep(i,0,n-1)scanf("%d",&a[i]);
        sort(a,a+n);
        if(check(0)||check(1))puts("Yes");
        else puts("No");
    }
    //system ("pause");
    return 0;
}
时间: 2024-08-26 04:59:05

植物摆放的相关文章

室内风水植物摆放的10个要素

一.多叶风水植物应摆放在阳光充足的地方,这样才能使房屋阳气充足.并且仿真树若有枯黄的迹象,应当马上进行修剪,把枯黄的部分剪去,这样会减少房屋阴气,增加屋主人运程. 二.风水植物不能与厨房并列一条线,更不能正对厨房,因为厨房属火,火气过盛,这样容易对风水植物风水不利. 三.家中不应摆放爬藤类植物和仙人掌,因为这两类植物在运程中过于尖锐,往往会导致屋主人发生口角.运气削减,引发不必要的口舌之争和困扰. 四.卧室里最好不要摆放风水植物及绿植盆栽,卧室是屋主人最常活动的场所,健康要求是非常高的.而不同植

聪明人的游戏,初中版 之目录

第一章算法概述    第1课 算法的概念    第2课 结构化程序设计思想    第3课 算法的时空复杂度 第二章字符串处理与进制转换    第1课 贝贝的交通指挥系统    第2课 贝贝的图形    第3课 贝贝的加密工作    第4课 贝贝的保险库密码    第5课 贝贝的数学课    第6课 贝贝与外星人    本章知识归纳    本章综合练习 第三章枚举算法    第1课 桐桐的计算    第2课 桐桐的数学难题    第3课 素数的秘密    第4课 桐桐的思考    第5课 桐桐的研

植物:绿萝

ylbtech-植物:绿萝 绿萝(学名:Epipremnum aureum),属于麒麟叶属植物,大型常绿藤本,生长于热带地区,常攀援生长在雨林的岩石和树干上,其缠绕性强,气根发达,可以水培种植. 成熟枝上叶柄粗壮,长30-40厘米,基部稍扩大,上部关节长2.5-3厘米.稍肥厚,腹面具宽槽,叶鞘长,叶片薄革质,翠绿色,通常(特别是叶面)有多数不规则的纯黄色斑块,全缘,不等侧的卵形或卵状长圆形,先端短渐尖,基部深心形,稍粗,两面略隆起. 原产印度尼西亚.所罗门群岛的热带雨林. 1.返回顶部 1. 中

植物:滴水观音花

ylbtech-植物:滴水观音花 滴水观音,天南星科.海芋属,又名“滴水莲”.佛手莲,有药用价值:在温暖潮湿.土壤水分充足的条件下,便会从叶尖端或叶边缘向下滴水:而且开的花像观音,因此称为滴水观音.形象似观音之手.枝叶有毒,家里有小孩的时候尽量远离小孩.滴水观音是热带雨林的林下植物,故其生长需高湿度,散射光才好. 1.返回顶部 1. 中文学名:滴水观音 别    称:滴水莲 界:植物界 门:被子植物门 纲:单子叶植物纲 目:天南星目 科:天南星科 属:海芋属 目录 1 简介 2 形态特征 3 生

【NOI2009】植物大战僵尸

P1589 - [NOI2009]植物大战僵尸 Description Plants vs. Zombies(PVZ)是最近十分风靡的一款小游戏.Plants(植物)和Zombies(僵尸)是游戏的主角,其中Plants防守,而 Zombies进攻.该款游戏包含多种不同的挑战系列,比如Protect Your Brain.Bowling等等.其中最为经典的,莫过于玩家通过控制Plants来防守Zombies的进攻,或者相反地由玩家通过控制Zombies 对Plants发起进攻. 现在,我们将要考

植物名字

葶苈.马齿苋.荠菜.荔枝草/蛤蟆菜.龙葵(甜甜儿).莵丝子(豆寄生) 转:据调查,昌黎县境有植物900余种,分属139科:其中野生植物600余种,栽培植物300余种. 林木(果树) 昌黎县境适宜栽植各种各样的林木和果树.林木栽植的主要树种有杨柳科的青杨.毛白杨.小叶杨.加拿大白杨.旱柳等,松科有油松.白皮松.云杉等,柏科有侧柏.桧柏等,山毛榉科有栎树(橡树).槲树,豆科有槐.刺槐(洋槐).紫穗槐等,榆科有榆.刺榆,桑科有桑.蒙桑,以及苦树科的臭椿.楝科的香椿.玄参科的泡桐等.昌黎县境的果树种类很

Bzoj1565 [NOI2009]植物大战僵尸

Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 2363  Solved: 1092 Description Input Output 仅包含一个整数,表示可以获得的最大能源收入.注意,你也可以选择不进行任何攻击,这样能源收入为0. Sample Input 3 2 10 0 20 0 -10 0 -5 1 0 0 100 1 2 1 100 0 Sample Output 25 HINT 在样例中, 植物P1,1可以攻击位置(0,0), P2, 0

Unity3D独立游戏开发日记(二):摆放建筑物

在沙盒游戏里,能自由建造是很重要的特点,比如说风靡全球的<我的世界>,用一个个方块就能搭建出规模宏大的世界.甚至有偏激的人说,没有自由建造,就不是一个真正的沙盒游戏.的确,沙盒游戏的魅力有很大一部分是能自由构建一个游戏世界.看着自己一砖一瓦搭建起一个城堡世界会很有成就感的. 现如今的手游,大多数就是一个争斗和炫耀的世界.不管是传奇类的狂霸拽酷,还是连连看,消消乐等好友排名,就是消费国人的虚荣心.其实,游戏是第九艺术,要上升到艺术的角度.在游戏里,玩家需要一种情感的宣泄和寄托以及体验. 说了这么

3个同一行div的摆放div

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="