NYOJ 448 最大数 贪心

来源:互联网 发布:网络在线麻将 编辑:程序博客网 时间:2024/06/05 05:01

NYOJ 448 最大数

用贪心,需要输出的长度为,总长度减去删除个数,然后从左往右一个个找出最大的。。。水过

代码

#include <stdio.h>#include <string.h>int t;char a[105];int m;int n;int max_i;char find_max(char *a, int n,int q){char max = '0';int i;for (i = q; i <= n + q; i ++){if (max < a[i]){max = a[i];max_i = i;}}a[max_i] = '0';max_i ++;return max;}int main(){int t;scanf("%d",&t);getchar();while (t --){max_i = 0;scanf("%s%d",a, &m);n = strlen(a) - m;while (n) {printf("%c", find_max(a, strlen(a) - n - max_i, max_i));n --;}printf("\n");}return 0;}


原创粉丝点击