P1051 谁拿了最多奖学金
我本来不想写这种东西的....但是....
这一题是一个人多个数据...结构体...自己写cmp...判定判定判定判定...累积累积累积...sort...完了。
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<string>
using namespace std;
#define tcl(a,b,c) for(a=b;a<=c;a++)
struct data
{
string n;
int s,c,txt;
char gan,w;
int sum;
int id;
}a[100001];
bool cmp(data a,data b)
{
if(a.sum==b.sum)
{
return a.id<b.id;
}
else return a.sum>b.sum;
}
int main()
{
int n,ans=0,i;
scanf("%d",&n);
tcl(i,1,n)
{
cin>>a[i].n>>a[i].s>>a[i].c>>a[i].gan>>a[i].w>>a[i].txt;
}
tcl(i,1,n)
{
if(a[i].s>80&&a[i].txt>=1) a[i].sum+=8000;
if(a[i].s>85&&a[i].c>80) a[i].sum+=4000;
if(a[i].s>90) a[i].sum+=2000;
if(a[i].s>85&&a[i].w=='Y') a[i].sum+=1000;
if(a[i].c>80&&a[i].gan=='Y') a[i].sum+=850;
a[i].id=i;
ans+=a[i].sum;
}
sort(1+a,1+a+n,cmp);
cout<<a[1].n<<endl<<a[1].sum<<endl<<ans;
return 0;
}
我也不知道为什么写这个
主要是这题让我明白了类型太多的时候你是没有自己想的那么厉害去用scanf的,乖乖用cin..
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· 程序员常用高效实用工具推荐,办公效率提升利器!
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)