#22. 小码君的抽象圣经-2
ID: 22
传统题
1000ms
256MiB
上传者:
root
题目描述
翻开小码君的《抽象圣经》,左看右看都觉得这些图形很漂亮,在看这些图形的过程中需要翻页,小码君觉得很麻烦,他想将自己觉得最好看的图形放在最上面,现在给出每个图形的抽象值,(抽象值越高越好看),有一些图形冥冥之中会带有魔力,这些带有魔力图形的页数放到最前面,都有魔力的图形按照抽象值排序,抽象值相同按照原本的页数顺序存放。
输入格式
一共输入一行,n个整数
第01行:一个整数n,表示抽象圣经的页数
第02行:输入第1页图形名称 抽象值 是否有魔力T表示有,F表示没有
第03行:输入第2页图形名称 抽象值 是否有魔力T表示有,F表示没有
第04行:输入第3页图形名称 抽象值 是否有魔力T表示有,F表示没有
第n+1行:输入第n页图形名称 抽象值 是否有魔力T表示有,F表示没有
输出格式
输出共n行,排序后的图形名字
第01行:输入第1页的图形的名字
第02行:输入第2页的图形的名字
第03行:输入第3页的图形的名字
第 n 行:输入第n页的图形的名字
样例
输入样例
5
Ac 48 T
Wa 91 T
Re 46 F
Tm 46 F
Ml 72 F
输出样例
Wa
Ac
Ml
Re
Tm
数据范围与提示
抽象值是一个不超过100的正整数
n<=1000
名称长度不超过50
#24. 小码君的水果分拣工厂-1
ID: 24
传统题
1000ms
256MiB
上传者:
root
题目描述
水果工厂的分拣机换了,需要你来调整一下程序,所有的苹果依次进入到分拣机中,苹果直径不超过10cm的苹果进入小苹果的流水线上,其他的进入到大苹果的流水线上。
输入格式
输入数据共2行
第01行:一个整数 n表示苹果个数 20<=n<=500,保证至少有一个大苹果和一个小苹果
第02行:n个整数 si(i从1到n)分表表示第i个苹果的直径 5<=si<=20
输出格式
一共输出2行数据
第01行:小苹果流水线上的苹果编号
第02行:大苹果流水线上的苹果编号
样例
输入样例
7
10 20 9 8 4 13 5
输出样例
1 3 4 5 7
2 6
#26. 小码君记录生日
ID: 26
传统题
1000ms
256MiB
上传者:
root
题目描述
小码君想调查学校每个同学的生日,并按照年龄从大到小的顺序排序。但小码君最近事情很多,没有时间,所以请你帮他排序。
输入格式
有2行,
第1行为学校总人数n(n<=10000);
第2行至第n+1行分别是每人的姓名s(名字长度不超过100)、出生年y、月m、日d。
输出格式
有n行,
每行输出一个同学的姓名,年龄大的先输出。(如果有两个同学生日相同,输入靠后的同学先输出)
样例
样例输入
4
Yangchu 1992 4 23
Qiujingya 1993 10 13
Luwu 1991 8 1
rongcheng 1993 10 13
样例输出
Luwu
Yangchu
rongcheng
Qiujingya
#21. 小码君的抽象圣经-1
ID: 21
传统题
50ms
256MiB
上传者:
root
题目描述
翻开小码君的《抽象圣经》,左看右看都觉得这些图形很漂亮,在看这些图形的过程中需要翻页,小码君觉得很麻烦,他想将自己觉得最好看的图形放在最上面,现在给出每个图形的抽象值,(抽象值越高越好看),如果抽象值相同按照原本的页号排放即可(按先来后到的顺序排列)。
输入格式
一共输入2行
第01行:一个整数n,表示抽象圣经的页数
第02行:n个整数ci(i从1到n)表示第i页图形的抽象值
输出格式
一共输出一行,n个整数
输出排序后每一页原来的页数
样例
输入样例
5
17 100 12 13 15
输出样例
2 1 5 4 3
数据范围与提示
抽象值是一个不超过100的正整数
n<=1000
#include<iostream>
using namespace std;
typedef struct data
{
char name[50];
int num;
char ml;
} Data;
void sort(Data a[],int n)
{
int i,j,c;
for(i=0;i<n-1;i++)
for(j=0;j<n-i-1;j++)
{
if(a[j].ml == a[j+1].ml)
c = a[j].num < a[j+1].num;
else
c = a[j+1].ml=='T';
if(c)
{
Data t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
int main()
{
int i,n;
cin >> n;
Data a[n];
for (i = 0; i < n; i++)
scanf("%s %d %c", a[i].name, &a[i].num, &a[i].ml);
sort(a,n);
for (i = 0; i < n; i++)
{
cout << a[i].name << endl;
}
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int i,n,d,al=0,bl=0;
cin >> n;
int a[n], b[n];
for (i = 1; i <= n; i++)
{
cin >> d;
if (d<=10)
a[al++] = i;
else
b[bl++] = i;
}
for (i = 0; i < al; i++)
{
if (i>0)
cout << " ";
cout << a[i];
}
cout << endl;
for (i = 0; i < bl; i++)
{
if (i>0)
cout << " ";
cout << b[i];
}
cout << endl;
return 0;
}
#include<iostream>
using namespace std;
typedef struct data
{
char name[100];
int y,m,d;
} Data;
void sort(Data a[],int n)
{
int i,j;
for(i=0;i<n-1;i++)
for(j=0;j<n-i-1;j++)
{
if(a[j].y*10000+a[j].m*100+a[j].d >= a[j+1].y*10000+a[j+1].m*100+a[j+1].d)
{
Data t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
int main()
{
int i,n;
cin >> n;
Data a[n];
for (i = 0; i < n; i++)
scanf("%s %d %d %d", a[i].name, &a[i].y, &a[i].m, &a[i].d);
sort(a,n);
for (i = 0; i < n; i++)
{
cout << a[i].name << endl;
}
return 0;
}
#include<iostream>
using namespace std;
typedef struct data
{
int index;
int num;
} Data;
void sort(Data a[],int n)
{
int i,j;
for(i=0;i<n-1;i++)
for(j=0;j<n-i-1;j++)
{
if(a[j].num < a[j+1].num)
{
Data t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
int main()
{
int i,n;
cin >> n;
Data a[n];
for (i = 0; i < n; i++)
{
cin >> a[i].num;
a[i].index = i+1;
}
sort(a,n);
for (i = 0; i < n; i++)
{
if (i>0)
cout << " ";
cout << a[i].index;
}
return 0;
}