XUPT新生赛题目回顾(1)

题目A:
一天,聪明王在家中写作业,一共有n门课的作业,现在他知道自己写完每门作业的时间。他的妈妈可能随时会回来,他想在他的妈妈回来时尽可能的写完多的科目(显得自己很努力),他该如何安排写作业的顺序呢?聪明的你帮他安排一下吧。

Input
第一行输入一个数n,接下来n行,每行有两个输入,第一个是科目名称,第二个是一个整数x,表示完成这门课所需要时间。

输入保证科目名称不会超过100个字符、各科目所需的时间都不相同
Output
输出一行,n个科目名称,代表完成作业的顺序
思路:
由题目可知每组数据分为科目与时间两部分,并且由时间来对整组数据排序,因此设置结构体变量存放科目与时间。

struct data{
	char a[101];
	int data;
}b[1000000];

接下来对结构体变量以时间升序排列,借用sort函数。对结构体变量排序

bool cmp(data x,data y){
	return x.data<y.data;
}

sort(b,b+n,cmp);

输出时只输出结构体中的科目即可

for(i=0;i<n;i++){
		printf("%s ",b[i].a);
	}

完整代码:

#include<stdio.h>
#include<algorithm>
#include<malloc.h>
using namespace std;
struct data{
	char a[101];
	int data;
}b[1000000];
bool cmp(data x,data y){
	return x.data<y.data;
}
int main()
{
	int n,i;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%s %d",&b[i].a,&b[i].data);
	}
	sort(b,b+n,cmp);
	for(i=0;i<n;i++){
		printf("%s ",b[i].a);
	}
	return 0;
}

题目I:
Description

军旅情怀,潇湘冷月。

当白云与蓝天相遇,白云便多了一份宽广,蓝天又增了一份柔情;

当青山与流水相遇,青山便多了一份细腻,流水又增了一份坚毅。

又是一年军训季,小植哥哥走过操场边。“学妹!”他无意瞥了一眼操场,惊呼道:“是学妹!”顺眼望去,原来是学妹们在训练。同行的玄玄哥哥已经在催着他走了,可这小植哥哥的心却早都定在了操场,他拉住玄玄哥哥准备坐下来慢慢欣赏细细品味。

小植哥哥看了一会,发现教官并没有让学妹们训练,而是在跟她们玩游戏。教官让学妹先在跑道上蹲成一列,给每个学妹从前到后按 1,2,3,4…1,2,3,4… 这样的顺序编号 ,然后教官开始说一个数字 kk ,这时编号为 kk 的倍数的学妹如果是站着,就要蹲下;如果是蹲着,就要站起来。教官看起来人非常好,他没有为难学妹,选择了按 1,2,3,4…1,2,3,4… 这样按顺序报数字。小植哥哥突然好奇,在教官喊了 mm 次后,哪几个人是站着的,旁边的玄玄突然憨了,因为他也不知道,但是他不能没有面子,于是他求求你告诉他还有谁是站着的(玄玄哥哥:qwq)

Input
输入一个数 mm表示学妹的总数和教官喊的次数

Output
若干数,表示站着的学妹的编号
思路:
由题目可知,找到站着的学妹只需要找到小于本数的所有平方数即可
代码:

#include<stdio.h>
int main()
{
	long i,n;
	scanf("%ld",&n);
	for(i=1;i*i<=n;i++){
		printf("%ld ",i*i);
	}
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值