7-6 一帮一 (15 分)

“一帮一学习小组”是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。本题就请你编写程序帮助老师自动完成这个分配工作,即在得到全班学生的排名后,在当前尚未分组的学生中,将名次最靠前的学生与名次最靠后的异性学生分为一组。

输入格式:

输入第一行给出正偶数N(≤50),即全班学生的人数。此后N行,按照名次从高到低的顺序给出每个学生的性别(0代表女生,1代表男生)和姓名(不超过8个英文字母的非空字符串),其间以1个空格分隔。这里保证本班男女比例是1:1,并且没有并列名次。

输出格式:

每行输出一组两个学生的姓名,其间以1个空格分隔。名次高的学生在前,名次低的学生在后。小组的输出顺序按照前面学生的名次从高到低排列。

输入样例:

8
0 Amy
1 Tom
1 Bill
0 Cindy
0 Maya
1 John
1 Jack
0 Linda

输出样例:

Amy Jack
Tom Linda
Bill Maya
Cindy John

代码如下:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int N;
	cin >> N;
	map<string, int>Sex,Use;
	vector<string>rank;
	while (N--)
	{
		int sex;
		string name;
		cin >> sex >> name;
		rank.push_back(name);
		Sex[name] = sex;
		Use[name] = 1;
	}
	for (int i = 0; i <rank.size(); i++)
	{
		for (int j = rank.size() - 1; j > i; j--)
		{
			if (Use[rank[i]]==1 && Use[rank[j]]==1 && (Sex[rank[j]]+Sex[rank[i]])==1)
			{
				cout << rank[i] << " " << rank[j] << endl;
				Use[rank[i]] = 0;
				Use[rank[j]] = 0;
			}
		}
	}
	return 0;
}

 

好的,生成校历可以有不同的方式,以下是一种基本的实现方式: 1. 在 `pages` 目录下新建 `calendar` 文件夹,用于存放校历相关页面和组件。 2. 在 `calendar` 文件夹新建 `calendar.vue` 文件,作为校历页面的入口文件。在该页面,可以使用 `uni-calendar` 组件来显示校历。 ```html <template> <div class="calendar-container"> <uni-calendar :template="calendarTemplate"></uni-calendar> </div> </template> <script> import UniCalendar from '@/components/uni-calendar/uni-calendar.vue'; export default { components: { UniCalendar }, data() { return { calendarTemplate: 'schoolCalendar' } } } </script> ``` 在上述代码,通过 `uni-calendar` 组件引入自定义日历模板,并设置为 `schoolCalendar`。 3. 在 `calendar` 文件夹新建 `schoolCalendar.vue` 文件,作为自定义日历模板。在该模板,可以设置校历的样式和显示内容。 ```html <template name="schoolCalendar"> <div class="school-calendar-container"> <div class="school-calendar-header"> <span class="school-calendar-title">{{title}}</span> </div> <div class="school-calendar-body"> <div class="school-calendar-weekdays"> <span v-for="weekday in weekdays">{{weekday}}</span> </div> <div class="school-calendar-days"> <div v-for="(month, index) in months" :key="index"> <div class="school-calendar-month">{{month.title}}</div> <div class="school-calendar-grid"> <div v-for="(day, index) in month.days" :key="index" class="school-calendar-day" :class="{'school-calendar-holiday': day.isHoliday}"> <div class="school-calendar-day-number">{{day.day}}</div> <div class="school-calendar-day-info">{{day.info}}</div> </div> </div> </div> </div> </div> </div> </template> <script> export default { props: { title: String, weekdays: Array, months: Array } } </script> <style lang="scss"> .school-calendar-container { background-color: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } .school-calendar-header { height: 48px; line-height: 48px; text-align: center; font-size: 18px; font-weight: 500; color: #333; border-bottom: 1px solid #eee; } .school-calendar-body { padding: 12px; } .school-calendar-weekdays { display: flex; justify-content: space-between; margin-bottom: 12px; color: #999; font-size: 14px; } .school-calendar-days { display: flex; flex-wrap: wrap; } .school-calendar-month { width: 100%; text-align: center; font-size: 18px; font-weight: 500; color: #333; margin-bottom: 12px; } .school-calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; } .school-calendar-day { position: relative; height: 60px; background-color: #f5f5f5; border-radius: 4px; overflow: hidden; } .school-calendar-holiday { background-color: #f2dede; } .school-calendar-day-number { position: absolute; top: 0; left: 0; width: 24px; height: 24px; line-height: 24px; text-align: center; font-size: 14px; font-weight: 500; color: #333; background-color: #fff; border-radius: 50%; transform: translate(8px, 8px); } .school-calendar-day-info { position: absolute; bottom: 0; left: 0; right: 0; height: 20px; line-height: 20px; text-align: center; font-size: 12px; font-weight: 500; color: #999; } </style> ``` 在上述代码,通过 `template` 标签定义自定义日历模板的名称为 `schoolCalendar`,并设置校历的样式和显示内容。其,`props` 的数据为校历的标题、星期几的名称和月份的数据,可以通过外部传递进来。 4. 在 `calendar` 文件夹新建 `schoolCalendarData.js` 文件,用于存放校历的数据。 ```js export default { title: '2022年校历', weekdays: ['日', '一', '二', '三', '四', '五', '六'], months: [ { title: '1月', days: [ {day: 1, isHoliday: true, info: '元旦'}, {day: 2, isHoliday: true}, {day: 3, isHoliday: true}, {day: 4}, {day: 5}, {day: 6}, {day: 7}, {day: 8}, {day: 9}, {day: 10}, {day: 11}, {day: 12}, {day: 13}, {day: 14}, {day: 15}, {day: 16}, {day: 17, isHoliday: true}, {day: 18}, {day: 19}, {day: 20}, {day: 21}, {day: 22}, {day: 23}, {day: 24}, {day: 25}, {day: 26}, {day: 27}, {day: 28}, {day: 29}, {day: 30}, {day: 31} ] }, // ... 其他月份的数据 ] } ``` 在上述代码,定义了校历的标题、星期几的名称和月份的数据。 5. 在 `calendar.vue` 页面引入 `schoolCalendarData.js` 文件,并将数据传递给自定义日历模板。 ```html <template> <div class="calendar-container"> <uni-calendar :template="calendarTemplate" :data="calendarData"></uni-calendar> </div> </template> <script> import UniCalendar from '@/components/uni-calendar/uni-calendar.vue'; import schoolCalendarData from './schoolCalendarData.js'; export default { components: { UniCalendar }, data() { return { calendarTemplate: 'schoolCalendar', calendarData: schoolCalendarData } } } </script> ``` 在上述代码,通过 `:data` 属性将 `schoolCalendarData.js` 的数据传递给自定义日历模板。 6. 在 `App.vue` 文件注册 `uni-calendar` 组件和 `uni-calendar` 样式。 ```html <template> <view class="content"> <router-view></router-view> </view> </template> <script> import UniCalendar from '@/components/uni-calendar/uni-calendar.vue'; import '@/components/uni-calendar/uni-calendar.scss'; export default { components: { UniCalendar } } </script> ``` 在上述代码,通过 `import` 引入 `uni-calendar` 组件和 `uni-calendar` 样式,并在组件注册。 7. 运行项目,在 `calendar` 页面即可显示校历。 以上是一种基本的校历生成方式,具体实现还需要根据项目的实际情况进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值