UVa 11039 - Building designing
题目大意:n个绝对值各不相同的非0整数,选出尽量多的数,排成一个序列,使得正负号交替且绝对值递增。
分析:按照绝对值大小排一次序,然后扫描一次,顺便做个标记即可。
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
int cmp(int a,int b)
{
return abs(a)<abs(b);
}
int main()
{
int cas,a[100000],n;
scanf("%d",&cas);
for(int ii=1;ii<=cas;ii++)
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
sort(a+1,a+1+n,cmp);
int flag=0;
int ans=0;
for(int i=1;i<=n;i++)
{
if(flag==0)
{
if(a[i]>0)
flag=1;
else
flag=2;
ans++;
}
else if(flag==1)
{
if(a[i]<0)
{
flag=2;
ans++;
}
}
else if(flag==2)
{
if(a[i]>0)
{
flag=1;
ans++;
}
}
}
printf("%d\n",ans);
}
return 0;
}
最新文章
- mysql 命令导入导出
- 一道google面试题
- C# 解析 Json
- BZOJ 1083 题解
- mybatis 下划线转驼峰配置
- JAVA实现File类中的遍历操作并输出内容
- MySQL(19):SQL语句(MySQL)大全
- JavaScript--函数-01
- MVC和传统的以模板为中心的web架构比较
- There is no satiety in study
- php学习笔记之一维数组
- Codeforces Round #446 (Div. 2)
- java对excel文件内容读写修改操作
- 图像控件 ImageControl
- 论文笔记:Tracking by Natural Language Specification
- Oracle client安装教程
- Learning to Rank算法介绍:RankSVM 和 IR SVM
- centos6.5(64位)离线安装scalr
- python学习(十九)常见的第三方库
- openfire安装配置完全教程
热门文章
- Python的神奇方法指南
- HBase vs. BigTable Comparison - HBase对比BigTable
- 字符集与字符编码 (charset &; encoding)
- Chrome 开发者工具有了设备模拟器
- IE7的overflow失效的解决方法
- android之DOM生成与解析
- jQuery Ajax之load()方法
- Unity开发Android应用程序:调用安卓应用程序功能
- SharePoint开发 - Excel数据导入到SharePoint自定义列表(数据视图方式)
- Oracle Data Integrator与OWB的集成及迁移