2 条题解

  • 1
    @ 2026-4-4 18:23:49

    我不会贪心 先筛选出数字 大的排前面,然后用桶排序的思想来输出即可。

    #include <bits/stdc++.h>
    using namespace std;
    const int MAXN = 1e6 + 10;
    char s[MAXN];
    int cnt[10];
    int main(void) {
    	scanf("%s", s);
    	int len = strlen(s);
    	for (int i = 0;i < len;++i) {
    		if (s[i] >= 'a' && s[i] <= 'z') continue;
    		cnt[s[i] - '0']++;
    	}
    	for (int i = 9;i >= 0;--i) {
    		for (int j = 0;j < cnt[i];++j) {
    			cout << i;
    		}
    	} 
    	return 0;
    }
    

    信息

    ID
    310
    时间
    1000ms
    内存
    512MiB
    难度
    4
    标签
    递交数
    24
    已通过
    8
    上传者