1062 Talent and Virtue

news/2024/7/5 2:31:18

1.在结构体里面设置total_grades属性是明智之举,但是不可以在结构体内得到total_grades=virtue_grade+talent_grade;

2.弄清题意,对人进行分类,等级越高type值越小,但是注意分的类别也许出现交叉的情况,细的要出现在粗的之后

3.尤其注意要被淘汰的选手,一旦淘汰要直接进入下一轮循环,否则可能因为type被覆盖而被误捞回来。例如:60分的最低分,有人v=90,t=50,本该淘汰,却可能被接下来的判断认为是君子

#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<bits/stdc++.h>
using namespace std;const int maxn = 100010;struct person{char id[10] = "";int virtue_grade = 0;int talent_grade = 0;int total_grades = 0;int type = 0;//属于哪类人,虽然我不喜欢把人分类 }pers[maxn];bool cmp(person a,person b){if(a.type!=b.type)return a.type<b.type; else if(a.total_grades!=b.total_grades) return a.total_grades>b.total_grades;else if(a.virtue_grade!=b.virtue_grade)return a.virtue_grade>b.virtue_grade;else if(a.talent_grade!=b.talent_grade)return a.talent_grade>b.talent_grade;else return strcmp(a.id,b.id)<0;
}
// v,t >= H 圣人  0
// t<H v>=H 君子  1
// v,t<=H v>=t 愚人  2
// v,t>=L 3
// v<L or t<L 不录 4 int main(){int n,L,H;scanf("%d %d %d",&n,&L,&H);int idx = 0;char now_id[10] = "";int v = 0;int t = 0;int now_type = 5;while(n--){scanf("%s %d %d",now_id,&v,&t);if(v<L||t<L){now_type = 4;continue;//4可能被3,2,1覆盖掉,很危险,一定要跳出循环 }if(v>=L&&t>=L)now_type = 3;//可能被 2 1 0 覆盖掉 if(v<=H&&t<=H&&v>=t)now_type = 2;if(t<H&&v>=H)now_type = 1;if(v>=H&&t>=H)now_type = 0;if(now_type!=4){strcpy(pers[idx].id,now_id);pers[idx].virtue_grade = v;pers[idx].talent_grade = t;pers[idx].total_grades = v+t;pers[idx].type = now_type;idx ++;}}printf("%d\n",idx);sort(pers,pers+idx,cmp);for(int i=0;i<idx;i++){printf("%s %d %d\n",pers[i].id,pers[i].virtue_grade,pers[i].talent_grade);}return 0;
}


http://lihuaxi.xjx100.cn/news/241354.html

相关文章

【转】Windows 64bit下Python环境配置与集成IDE PyCharm

本篇博客主要讲述Windows下Python环境的搭建&#xff08;十分感谢原作者&#xff01;&#xff01;&#xff09;1. Python基本环境安装&#xff1a; 在网站Python官网 中下载Windows版本的Python安装包&#xff0c;双击下载下来的安装包&#xff0c;安装过程中要选中pip和Add py…

antd+dva笔记

参考 React中函数式声明组件Dva Ant Design 前后端分离之 React 应用实践ReactDvaJS 之 hook 路由权限控制dva 知识地图react-router Guides and API docs (v2, v3)react-sage redux-saga 是一个用于管理 Redux 应用异步操作,可以用来代替 redux-thunk 中间件。《Redux-saga 中…

java for 两个条件_for循环条件里定义2个变量为什么会报错

public class HelloWorld {//完成 main 方法public static void main(String[] args) {int scores[]{89,-23,64,91,119,52,73};HelloWorld hellonew HelloWorld();hello.sortScore(scores);}//定义方法完成成绩排序并输出前三名的功能public void sortScore(int[] scores){Arra…

1012 The Best Rank

思路&#xff1a;读入全部的数据之后&#xff0c;按照四个cmp函数对数组进行排序&#xff0c;给每生的4个科目的排名赋值&#xff0c;读入要检验的id后使用strcmp对数组中的id进行遍历(幸好这里数组大小和要检验的数目乘积不超过4万)&#xff0c;如果找到了相同id,调用写好的得…

git github 快速入门

本节内容 github介绍安装仓库创建& 提交代码代码回滚工作区和暂存区撤销修改删除操作远程仓库分支管理多人协作github使用忽略特殊文件.gitignore为什么要用版本控制&#xff1f; 假设你在的公司要上线一个新功能&#xff0c;你们开发团队为实现这个新功能&#xff0c;写了…

django -- url 的 name 属性

在html的form中使用给url定义的name值&#xff0c;可以在修改url时不用在修改form的src。 urls.py from django.conf.urls import url from mytest import viewsurlpatterns [# url(r^admin/, admin.site.urls),url(r^index/, views.index, namemysite), views.Index.as_view(…

1016 Phone Bills

目录 概述&#xff1a; 一些小的注意点 AC代码 概述&#xff1a; 这道题是我迄今做出来的最复杂的一道PAT了&#xff0c;该题被归类到排序专题下&#xff0c;其实还涉及到大量的字符串处理等别的我暂时也说不出的知识点。 排序函数我写了两个&#xff0c;1是cmp&#xff0…

java 上传的图片大小为0_JAVA技术:上传图片的缩放处理

图片上传到后&#xff0c;会根据情况将图片缩小成一个图标&#xff0c;我们可以利用java强大的图形处理功能&#xff0c;对上传的图片进行缩放处理。下面的程序使用jdk1.4中最新的ImageIO对图片进行读写。使用AffineTransform对图片进行缩放。import java.io.File&#xff1b;i…