贪心题——删数问题
发布网友
发布时间:2022-06-09 13:07
我来回答
共1个回答
热心网友
时间:2023-10-02 14:18
前面的数比它后面的数大就删掉
如果整个数已经是从小到大排列,就直接把末尾的数删掉
#include <iostream>
using namespace std;
const int Limit_Size = 21;
char num[ Limit_Size ];
int S, len;
void init( )
{
cin >> num >> S;
len = strlen( num );
}
void work( )
{
int i, j, k;
for ( i = 0; i < S; i++ )
{
for ( j = 0; j < len - 1; j++ )
if ( num[ j ] > num[ j + 1 ] )
{
for ( k = j; k < len - 1; k++ )
num[ k ] = num[ k + 1 ];
break;
}
len--;
}
}
void print( )
{
int i;
if ( len <= 0 )
cout << 0;
else
for ( i = 0; i < len; i++ )
cout << num[ i ];
cout << endl;
}
int main( )
{
init( );
work( );
print( );
return 0;
}