PAT 1038
来源:互联网 发布:剑灵正太捏脸数据 编辑:程序博客网 时间:2024/06/06 16:30
#include#include #include using namespace std;int N;struct num {int sum=0;num* next[10] = { nullptr,nullptr,nullptr,nullptr,nullptr,nullptr,nullptr,nullptr,nullptr,nullptr };int end = 0;};num* nums = new num;list
res;int getmin() {int res = 0;while (nums->next[res] == nullptr || nums->next[res]->sum <= 0) res++;return res;}int main() {cin >> N;getchar();for (int i = 0; i < N; i++){int j = 0;char c;num* temp = nums;while ((c = getchar())!=' ' && c!='\n') {if (temp->next[c - '0'] == nullptr) temp->next[c - '0'] = new num;temp->next[c - '0']->sum++;temp = temp->next[c - '0'];}temp->end++;}num* temp = nums;nums->sum = N+1;while (nums->sum > 0) {temp->sum--;int i = 0;while (temp->next[i] == nullptr || temp->next[i]->sum <= 0) {i++;if (i==10) break;}if (temp->end != 0 && i != 10) {if (i > getmin()) {temp->end--;temp = nums;}else {res.push_back(i);temp = temp->next[i];}}else if (temp->end != 0) {temp->end--;temp = nums;}else if (i != 10) {res.push_back(i);temp = temp->next[i];}}while (!res.empty() && res.front() == 0) res.pop_front();if (res.empty()) cout << 0;for (auto it : res) cout << it;system("PAUSE");return 0;}
阅读全文
0 0
- PAT-1038
- pat 1038
- PAT 1038
- PAT 1038
- PAT-1038
- PAT 1038
- PAT Advanced Level 1038
- pat-advanced(1035-1038)
- PAT(甲级)1038
- PAT basic 1038
- 浙大PAT甲级 1038
- PAT乙级1038
- PAT甲级1038
- pat-bl-1038
- PAT(乙级)1038
- PAT basic 1038
- PAT basic 1038
- pat
- 【Android View事件(四)】View滑动与实现滑动的几种方法
- C语言习题6
- 杂记
- 字符串的操作
- u3d_rpg游戏开发之物品管理(一)
- PAT 1038
- 深度学习网络调参技巧
- 【回溯】子集树和排列树(装载/最大团/n皇后/旅行商)
- Centos7.4安装Open-falcon v0.2
- 621. Task Scheduler
- 【python数据挖掘课程】十七.社交网络Networkx库分析人物关系(初识篇)
- VS KMP-串的模式匹配(五)
- 比较两个日期时间字符串
- 异常2