超级卷王()

这篇博客介绍了一个模拟程序,用于预测浙江工业大学幼儿园在内卷现象中的‘超级卷王’。程序根据学生的初始能力值和自卷系数进行多轮测试,每次淘汰一半表现较差的学生,前10名能力提升,前三名受嘲讽能力下降。最终输出胜出者的编号和能力值。
摘要由CSDN通过智能技术生成

ZJUTOJ-超级卷王

题目

题目地址-点此跳转

内卷指不能从外部渠道获取资源,没有产生整体的增量,只能在存量分配上做文章,往往损害内部一部分甚至绝大多数群体利益来补偿少数群体的利益,最终整体利益没有增加,持续性内耗的一种状态。内卷本身是个艰难晦涩的社会学专用名词,今天之所以能成为热搜,都是因为今天内卷是很多人今天可以亲身感受到的社会现象。

“内卷”被现在很多高校学生来指代非理性的内部竞争或“被自愿”竞争,这种风气已经逐渐蔓延到中小学甚至幼儿园。

已知浙江工业大学幼儿园今年有 n 名新生入学,每名同学会有以下属性:
编号 id
​初始能力值 s
​自卷系数 p,即该名同学每天结束后能力能够增长 p

为了选拔出一名“超级卷王”,浙工大幼儿园每天都会进行一次测试,直到角逐出“超级卷王”为止。

每次测试会根据同学们的能力值为第一关键字降序排名,编号为第二关键字按升序排名,淘汰排名较低的[n/2]人(n/2向下取整)

在本次测试中排名前十的同学会受到老师的褒奖,备受激励,能力值立即增长R。

当剩余人数不少于6人时,排名前三的同学会受到大多数人的嘲讽,心情变差,下一天能力值下降L。

请你帮浙工大幼儿园的老师预测出最终的卷王是谁,并输出他的编号和最终的能力值。

……

解答

简单的模拟,按照题目要求写即可

#include <bits/stdc++.h>
typedef long long ll;
using namespace std ;

int num;
int n,r,l;
//node储存学生信息
struct node{
	int pos;
	ll pp;
	ll prove;
}stu[101];

//cmp为比较规则
int cmp(node a,node b)
{
	if(a.pp==b.pp)
	return a.pos<b.pos;
	else
	return a.pp>b.pp;
}

int main(){
	cin>>n>>r>>l;
	num=n;
	for(int i=0;i<n;i++)
	cin>>stu[i].pos;
	for(int i=0;i<n;i++)
	cin>>stu[i].pp;
	for(int i=0;i<n;i++)
	cin>>stu[i].prove;
	while(num!=1)
	{
		sort(stu,stu+num,cmp);
		num=num-num/2;
		for(int i=0;i<num&&i<10;i++)
		stu[i].pp+=r;
		if(num>=6)
		{
			stu[0].pp-=l;
			stu[1].pp-=l;
			stu[2].pp-=l;
		}
		//当只剩1人时,无需等到第二天
		if(num!=1)
		{
			for(int i=0;i<num;i++)
			stu[i].pp+=stu[i].prove;
		}
		
	}
	cout<<stu[0].pos<<" "<<stu[0].pp<<endl;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值