1828: 贪心的小猫咪
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 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;
}