`
xxx0624
  • 浏览: 28848 次
文章分类
社区版块
存档分类
最新评论

HDU4550+贪心

 
阅读更多
/*
贪心
先挑出最小的Mm,然后在Mm左侧的按情况考虑,右侧的按顺序排列。
*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<algorithm>
#include<iostream>
#include<queue>
#include<map>
#include<math.h>
using namespace std;
typedef long long ll;
//typedef __int64 int64;
const int maxn = 105;
const int inf = 0x7fffffff;
const double pi=acos(-1.0);
const double eps = 1e-8;
char s[ maxn ];
char Min[ 3*maxn ];
int main(){
	int T;
	scanf("%d",&T);
	while( T-- ){
		scanf("%s",s);
		int len = strlen( s );
		for( int i=0;i<3*maxn;i++ ){
			Min[ i ] = '@';
		}//init
		int lpos,rpos,mid;
		mid = 100;
		lpos = 100;
		rpos = 100;
		char Mm = '9';
		int Mmpos;
		for( int i=0;i<len;i++ ){
			if( s[i]!='0'&&Mm>=s[i] ){
				Mm = s[i];
				Mmpos = i;
			}
		}
		Min[ mid ] = s[0];
		for( int i=1;i<len;i++ ){
			if( i<Mmpos ){//大的在right
				if( s[i]>Min[lpos] ){
					Min[ ++rpos ] = s[i];
				}
				else if( s[i]<=Min[lpos] ){
					Min[ --lpos ] = s[i];
				}//注意这里的“=”,因为Min[lpos]后面的都比s[i]大
			}
			else if( i==Mmpos ){
				Min[ --lpos ] = s[i];
			}
			else {//全部放在后面
				Min[ ++rpos ] = s[i];
			}
		}
		for( int i=lpos;Min[i]!='@';i++ )
			printf("%c",Min[i]);
		printf("\n");
	}
	return 0;
}


分享到:
评论

相关推荐

    (HDUACM201403版_03)贪心算法

    杭电ACM课件2014版之 (HDUACM201403版_03)贪心算法

    acm课件 HDU 算法大全

    acm 技术大牛 课件 HDU 自学必备课件 全套齐全 (lecture_01)初识ACM (lecture_02)简单数学题 (lecture_03)递推求解 (lecture_04)动态规划(1)_ (lecture_05)计算几何基础_ (lecture_06)母函数 (lecture_...

    ACM-HDU涉及了很多算法

    HDU的ACM,非常的好 涉及了很多算法,例如二分匹配、博弈、组合、最小生成树、搜索、动态规划、贪心算法

    最短路径 贪心实现代码

    最短路径 贪心实现代码 hdu 最短路 dijkstra 算法

    HDU-ACM课件.rar

    经典算法:(二分匹配,背包专题,筛选法,简单数学题,贪心算法,递推求解,动态规划,并查集,母函数,搜索,组合博弈等入门算法)

    算法分析 递归与分治策略 动态规划 贪心算法 分支限界法 随机化算法等算法

    这是一个相当齐全的算法课件 里面包含了很多的内容和实例 使我们上课时老师的课件 希望对大家有帮助

    HDU 6187 Destroy Walls(并查集)

    使用并查集+贪心:先将已有边的权值从大到小排序,又n个点只需n-1条边,这时再遍历一遍,将有边的两点合并为一个队伍,当边的数量达到n-1时退出循环,因为此时已达到最小生成树。 边的权值由大到小排序是因为要将大...

    HDU——ACM.zip

    本压缩包内包含杭电ACM集训的课件PPT,较为详细的介绍了动态规划,计算几何,贪心算法, 搜索,二分图及其应用,母函数及其应用,组合博弈入门,并查集,递推求解等常用算法

    ACM

    贪心算法 胖老鼠的贸易 移动桌 再次做作业 今年暑假不AC 田吉-赛马 图G的度序列 Quoit设计 为HDU而战 为新Acmer准备 像A + B一样简单 悼念512汶川大地震遇难同胞-老人是真饿了 青蛙的邻居 递归 超级楼梯 ...

    acm源码(8M)

    内含相当多的源代码,其中包括各种经典算法如分治法,动态规划,搜索贪心,暴力等等,还有北京大学acm100题源码

    OJ_Practice

    刷题使人进步 :grinning_face_with_smiling_eyes: 为什么刷题 希望将来项目提升自己的编程能力。...HDU OJ 简单题 规律 模拟题 动态规划 快速幂: 贪心: 图论: 数学: 分治 数据结构 佐治 简单题 搜寻 POJ 动态规划

Global site tag (gtag.js) - Google Analytics