UVA 11039 Building designing 贪心
2024-09-29 17:33:18
题目链接:UVA - 11039
题意描述:建筑师设计房子有两条要求:第一,每一层楼的大小一定比此层楼以上的房子尺寸要大;第二,用蓝色和红色为建筑染色,每相邻的两层楼不能染同一种颜色。现在给出楼层数量和每层楼的尺寸(楼层尺寸的大小没有按照顺序给出),求出满足这样要求的最大楼层数。
算法分析:把楼层尺寸按照从大到小排序,然后遍历一次的同时记录相邻楼层所染颜色不同,把不满足要求的楼层去掉即可。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<algorithm>
#define inf 0x7fffffff
using namespace std;
const int maxn=+; int n,an[maxn]; int cmp(int i,int j)
{
i=abs(i) ;j=abs(j) ;
return i>j;
} int main()
{
int t;scanf("%d",&t);
while (t--)
{
scanf("%d",&n);
for (int i= ;i<n ;i++) scanf("%d",&an[i]);
sort(an,an+n,cmp);
int cnt=,flag= an[]> ? : - ;
for (int i= ;i<n ;)
{
int f= an[i]> ? : - ;
while (f==flag && i<n)
{
i++;
f= an[i]> ? : - ;
}
if (f != flag && i<n)
{
cnt ++ ;
flag=f;
i ++ ;
}
}
printf("%d\n",cnt);
}
return ;
}
最新文章
- 移动Web触摸与运动解决方案AlloyTouch开源啦
- Java如何解决脆弱基类(基类被冻结)问题
- 美发屋App-业余爱好
- 2016 - 1 - 23 xml解析 -- 语法简介
- cpu进程调度---RT Throttling【转】
- 团体程序设计天梯赛-练习集L2-003. 月饼
- Multi-Die系统介绍
- 两种常用的启动和关闭MySQL服务
- 使用 Bundle 在 Activity 之间交换数据
- UITableViewStyleGrouped模式下多余间距
- [Swift-2019力扣杯春季初赛]3. 最小化舍入误差以满足目标
- python之asyncio
- java.lang.RuntimeException: Unable to get provider cn.jpush.android.service.DataProvider
- python list 常用
- INSTALL_FAILED_CONFLICTING_PROVIDER
- SOA架构商城二 框架搭建
- AJAX 请求中多出了一次 OPTIONS 请求 导致 Laravel 中间件无法对 Header 传入的 Token 无法获取
- 一个demo 理解 vuex
- ShellExecuteA函数
- [Visual Studio] 安装清单