贪心(SOJ4124)
来源:互联网 发布:山下智久石原里美 知乎 编辑:程序博客网 时间:2024/06/06 08:58
(2012-07-11 22:22:55)
SOJ4124:http://cstest.scu.edu.cn/soj/problem.action?id=4124
贪心。
SOJ4124:http://cstest.scu.edu.cn/soj/problem.action?id=4124
贪心。
首先排序,然后扫描到a[i-1]+1等于a[i],则需要从第i+1的位置开始找一个大于a[i]的数a[j],把这个数和a[i]交换,如果找不到则将a[i-1]和a[i]交换。最外层循环条件是存在某个a[i]==a[i-1]+1。
代码:
#include<iostream>#include<algorithm>using namespace std;void swap(int s[],int a,int b){ int temp=s[a]; s[a]=s[b]; s[b]=temp;}int main(){ int test; scanf("%d",&test); int s[105]; while(test--) { int n; scanf("%d",&n); int i,j; for(i=0;i<n;i++) scanf("%d",&s[i]); sort(s,s+n); int flag=1; int temp=1; while(flag) { flag=0; for(i=temp;i<n;i++) { if(s[i]==s[i-1]+1) { flag=1; for(j=i+1;j<n;j++) { if(s[j]>s[i]) { swap(s,i,j); temp=i+1; break; } } if(j==n) swap(s,i-1,i); } } } for(i=0;i<n;i++) printf("%d ",s[i]); cout<<endl; } return 0;}
0 0
- 贪心(SOJ4124)
- 贪心(bnuoj49103+二分+贪心)
- 【贪心算法(一)】贪心算法基础
- zoj1002_FireNet(贪心法)
- 贪心题目(SOJ)
- POJ2718(枚举 + 贪心)
- POJ 1328(贪心)
- POJ 1818(贪心)
- POJ 1065(贪心)
- POJ 1477(贪心)
- Monster (贪心)
- 最优装载(贪心)
- 哈夫曼编码(贪心)
- hdu 2570 (贪心)
- uva 11389(贪心)
- poj 2054(贪心)
- Huffman 编码 (贪心)
- hdu 4647(贪心?!)
- Ruby学习笔记_super
- heritrix 下载、安装、配置
- 海盗喝酒
- 我也开博客啦
- Android中常用的几种字体单位
- 贪心(SOJ4124)
- iOS6.0下奇怪的_UIRecordArgumentOfInvocationAtIndex异常
- 1066. Root of AVL Tree
- VS2010、C#、Emgu CV配置 ; 在C#下使用OpenCV ; C#中使用OpenCV(Emgu CV); 配置全程截图
- Dos下运行java虚拟内存不足
- oracle 高级分组 GROUPING SETS
- 【GamingAnywhere源码分析之知识补充六】Windows多线程信号通信与GA整体框架修改
- Android SDK开发包国内下载地址
- 编译cocos2d项目出错