1055. The World's Richest (25)解题报告
2016-10-30 10:17
387 查看
#define _CRT_SECURE_NO_WARNINGS #include <cstdio> #include <cstdlib> #include <cstring> #include <algorithm> #define N 100000 using namespace std; struct people { char name[15]; int age, net; }; bool comp(people p1, people p2); void print(people arr[], int n, int amin, int amax, int m); int main(void) { int n, k, i, j; setvbuf(stdin, new char[1 << 20], _IOFBF, 1 << 20); setvbuf(stdout, new char[1 << 20], _IOFBF, 1 << 20); people *arr = new people ; people *arr2 = new people ; scanf("%d %d", &n, &k); for (i = 0; i < n; i++) { scanf("%s %d %d", arr[i].name, &arr[i].age, &arr[i].net); } sort(arr, arr + n, comp); int cnt = 0, age[300] = { 0 }; for (i = 0, j = 0; i < n; i++) { if (++age[arr[i].age] < 100) { arr2[j].age = arr[i].age; arr2[j].net = arr[i].net; strcpy(arr2[j].name, arr[i].name); j++; } } int amin, amax, m; for (i = 1; i < k + 1; i++) { scanf("%d %d %d", &m, &amin, &amax); printf("Case #%d:\n", i); print(arr2, j, amin, amax, m); } delete[] arr; delete[] arr2; return 0; } bool comp(people p1, people p2) { if (p1.net > p2.net) { return true; } else if (p1.net < p2.net) { return false; } else { if (p1.age > p2.age) { return false; } else if (p1.age < p2.age) { return true; } else { int result; result = strcmp(p1.name, p2.name); if (result > 0) { return false; } else if (result < 0) { return true; } else { return true; } } } } void print(people arr[], int n, int amin, int amax, int m) { int i, j; for (i = 0, j = 0; i < n && j < m; i++) { if (arr[i].age >= amin && arr[i].age <= amax) { printf("%s %d %d\n", arr[i].name, arr[i].age, arr[i].net); j++; } } if (!j) { puts("None"); } return; }
相关文章推荐
- PAT A1055. The World's Richest (25)
- 1055. The World's Richest (25)
- 1055. The World's Richest (25)
- PAT(甲级)1055. The World's Richest (25)
- 1055. The World's Richest (25)
- PAT 1055. The World's Richest (25) 年龄排序问题(O(n)排序)
- PAT甲级1055. The World's Richest (25)
- PAT甲级 1055. The World's Richest (25)
- 1055. The World's Richest (25)
- 1055. The World's Richest (25)
- A1055. The World's Richest (25)
- 1055. The World's Richest (25)
- PAT (Advanced Level) Practise 1055 The World's Richest (25)
- 1055. The World's Richest (25)
- 1055. The World's Richest (25)
- 1055. The World's Richest (25)
- 1055. The World's Richest (25)
- PAT A1055 the world's richest(25)
- PAT1055:The World's Richest (25)
- PAT-A 1055. The World's Richest (25)