zzulioj 1828: 贪心的小猫咪 (贪心找最大数) 水

1828: 贪心的小猫咪

Time Limit: 1 Sec   Memory Limit: 128 MB
Submit: 11   Solved: 2

Submit Status Web Board

Description

“老鼠你们都给我听着!”
对于老鼠来说,一只可爱的小猫咪恍若一个邪恶的撒旦。
“最近我可是越来越无聊了,所以我打算找几只老鼠陪我玩耍,不过呢,我现在给你们一串数字,你们可以减去一位,然后剩下的数字就是要陪我玩的数量!”
不过可爱的小猫咪数学不是很好,所以对于他来说只有1-9的数字,所以他给你的数字不会出现0.
于是老鼠们一起去找老鼠长老商讨,希望能得到最少的数量。

Input

多实例,输入一个数,数字位数小于10^6。

Output

输出最小的数。

Sample Input

123456789

Sample Output

12345678
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define N 1000010
using namespace std;
char s[N];
int main()
{
	while(scanf("%s",s)!=EOF)
	{
		int l=strlen(s);
		int n=s[0]-'0';
		int k=0,i;
		for(i=1;i<l;i++)
		{
			if(s[i]-'0'>=n)
				n=s[i]-'0';
			else
			{
				s[i-1]='\0';
				break;
			}
		}
		if(i==l)//要加个特判,如果严格从小到大则去除最后一位。 
			s[l-1]='\0';
		printf("%s",s);
		for(int j=i;j<l;j++)
			printf("%c",s[j]);
		printf("\n");
	}
	return 0;
}

你可能感兴趣的:(zzulioj 1828: 贪心的小猫咪 (贪心找最大数) 水)