|
发表于 2018-3-27 20:52:20
|
显示全部楼层
- #include <stdio.h>
- #include <algorithm>
- using namespace std;
- typedef struct People{
- int flag;
- int set;
- char name[100];
- }PEOPLE;
- bool cmp(PEOPLE a, PEOPLE b){
- return a.set > b.set;
- }
- int main(void){
- int n, left = 0, right, i;
- PEOPLE a[10000], set[10000];
- scanf("%d", &n);
- right = -1;
-
- for (i = 0; i < n; i++){
- scanf("%d", &a[i].flag);
- scanf("%s", a[i].name);
- //模拟队列
- if (a[i].flag == 0){
- a[i].set = left++;
- }
- if (a[i].flag == 1){
- a[i].set = right--;
- }
- }
- //将座次排序,降序输出
- sort(a, a + n, cmp);
- for (i = 0; i < n; i++){
- printf("%s\n", a[i].name);
- }
- return 0;
- }
复制代码 |
|