1062. Talent and Virtue (25)
2015-01-10 16:39
239 查看
#include <iostream> #include <cstdio> #include <vector> #include <algorithm> using namespace std; int L, H; struct man { int id; int vg; int tg; bool operator<(const man &b) const { if((vg+tg)^(b.vg+b.tg)) return vg+tg > b.vg+b.tg; if(vg^b.vg) return vg > b.vg; return id < b.id; } }; int main(int argc, char **argv) { int n; cin >> n >> L >> H; vector<man> human[4]; for(int i = 0; i < n; i ++) { man m; scanf("%d%d%d", &m.id, &m.vg, &m.tg); if(m.vg >= H && m.tg >= H) { human[0].push_back(m); } else if(m.vg >= H && m.tg >= L) { human[1].push_back(m); } else if(m.vg >= L && m.tg >= L) { if(m.vg >= m.tg) { human[2].push_back(m); } else human[3].push_back(m); } } int total = 0; for(int i = 0; i < 4; i ++) { sort(human[i].begin(), human[i].end()); total += human[i].size(); } cout << total << endl; for(int i = 0; i < 4; i ++) { for(int j = 0; j < human[i].size(); j ++) { printf("%05d %d %d\n", human[i][j].id, human[i][j].vg, human[i][j].tg); } } return 0; }
相关文章推荐
- 1062. Talent and Virtue (25) 大量输入输出 scanf printf会比cin cout 省很多时间
- 1062. Talent and Virtue (25)
- 1062. Talent and Virtue (25)
- 【PAT】【Advanced Level】1062. Talent and Virtue (25)
- pat 1062. Talent and Virtue (25)
- PAT-A-1062. Talent and Virtue (25)
- 1062. Talent and Virtue (25)
- 1062. Talent and Virtue (25)
- 1062. Talent and Virtue (25)
- PAT甲题题解-1062. Talent and Virtue (25)-排序水题
- PAT 1062. Talent and Virtue (25)(判断是否是圣人君子小人)(代码超时)
- 1062. Talent and Virtue (25)【排序】——PAT (Advanced Level) Practise
- 1062. Talent and Virtue (25)【排序】——PAT (Advanced Level) Practise
- 1062 Talent and Virtue (25)
- 1062. Talent and Virtue (25)
- 1062. Talent and Virtue (25)
- PAT-A 1062. Talent and Virtue (25)
- PAT 1062. Talent and Virtue (25) sort应用
- 1062. Talent and Virtue (25)
- 1062. Talent and Virtue (25)