2020寒假【gmoj2008】【Oliver的成绩】【高精度】
题目描述
Oliver进入初中后,觉得自己不能总是玩儿了,应该要好好学习了。正好一次考试结束了,Oliver想知道自己的语文,数学,英语分别与语文年级第一,数学年级第一,英语年级第一相差多少。由于Oliver所在年级有N个人,所以Oliver想你编个程序帮帮他。
输入
score.in共3N+4行,第一~三行分别为Oliver的语文数学英语成绩(位数M),第四行为N,以下3N行,每行一个数(它们的位数是M),分别为第N个同学的语文,数学,英语成绩。
即:Oliver的语文
Oliver的数学
Oliver的英语
N
第一个人的语文
数学
英语
第二个人的语文
…
输出
score.out共一行,有三个数,分别为Oliver的语文数学英语与年级第一的差。
如果Oliver是第一,则输出0.
样例输入
10
10
10
3
0
80
0
40
0
0
0
0
100
样例输出
30 70 90
分析
这题由于我一时疏忽,打了个低精的只混到50pts。低精度就直接加10分钟可以打完。
先放个代码:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
typedef long long ll;
ll n,maxc,maxm,maxe;
struct node
{ll c,m,e;//语数英
}a[10010];
int main()
{freopen("score.in","r",stdin);freopen("score.out","w",stdout);cin>>a[0].c>>a[0].m>>a[0].e;cin>>n;for(int i=1;i<=n;i++){cin>>a[i].c;cin>>a[i].m;cin>>a[i].e;maxc=max(maxc,a[i].c-a[0].c);maxm=max(maxm,a[i].m-a[0].m);maxe=max(maxe,a[i].e-a[0].e);}cout<<maxc<<" "<<maxm<<' '<<maxe;fclose(stdin);fclose(stdout);return 0;
}
高精度的我一开始想了好久打了100+行代码,结果发现根本不用。。。
其实这种高精度减法用字符串输入之后直接比大小(字符串比对),在除了Oliver之外的所有人之中选出一个最大的。
然后建立一个函数去做减法(因为要做很多次,不方便而且冗余)。同时注意如果不够减的情况(特判)答案为0。
上代码!
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
string s1,s2,s3,t1,t2,t3,max1,max2,max3;
int n,a[50],b[50],c[50],len;
string pd(string x,string y)//判断字符串大小
{int lenx,leny;lenx=x.length();leny=y.length();if(lenx==leny){if(x<y) return y;else return x;}else if(lenx<leny) return y;else return x;
}
void fun(string x,string y)//高精减
{memset(a,0,sizeof(a));memset(b,0,sizeof(b));memset(c,0,sizeof(c));int lenx,leny;lenx=x.length();leny=y.length();if(lenx>leny||(lenx==leny&&x>y))//判断Oliver的大还是其他中最大的大 {for(int i=0;i<=lenx-1;i++){a[i]=x[lenx-1-i]-48;//倒存 }for(int i=0;i<=leny-1;i++){b[i]=y[leny-1-i]-48;} len=lenx;for(int i=0;i<=len-1;i++){if(a[i]-b[i]<0)//借位 {a[i]+=10;a[i+1]--;}c[i]=a[i]-b[i];}while(c[len]==0)//去前导0 {len--;}}else//特判 {c[0]=0;//赋值为0 len=0;}
}
int main()
{freopen("score.in","r",stdin);freopen("score.out","w",stdout);cin>>s1>>s2>>s3;max1=s1;max2=s2;max3=s3;cin>>n;for(int i=1;i<=n;i++){cin>>t1>>t2>>t3;max1=pd(max1,t1);max2=pd(max2,t2);max3=pd(max3,t3);/*先从其他的选出最大的*/}fun(max1,s1);for(int i=len;i>=0;i--){cout<<c[i];}cout<<" ";fun(max2,s2);for(int i=len;i>=0;i--){cout<<c[i];}cout<<" ";fun(max3,s3);for(int i=len;i>=0;i--){cout<<c[i];}fclose(stdin);fclose(stdout);return 0;
}
(*╹▽╹*)//这个表情让复制程序的人过不了!
2020寒假【gmoj2008】【Oliver的成绩】【高精度】相关推荐
- 太原益学领军2021年高考成绩查询,益学领军 | 2020寒假高三拼命班火爆进行中
原标题:益学领军 | 2020寒假高三拼命班火爆进行中 自闭桃源称太古 欲栽大木柱长天 益学领军拼命班 名师集训树栋梁 2020寒假高三年级 授课内容 益学出尖峰 刺破青天锷未残 领军传三晋 名师集训 ...
- 湖北黄冈中学2021年高考成绩查询,【喜报】2020年黄冈中学高考成绩出炉,600分以上人数556人...
原标题:[喜报]2020年黄冈中学高考成绩出炉,600分以上人数556人 2020年7月23日,湖北省高考成绩已经出炉,但是黄冈中学2020年高考喜报却在今天才姗姗来迟,让大家久等了,赶紧先来一睹为快 ...
- JZOJ__Day 6:【普及模拟】Oliver的成绩(score)
题目描述 Oliver进入初中后,觉得自己不能总是玩儿了,应该要好好学习了.正好一次考试结束了,Oliver想知道自己的语文,数学,英语分别与语文年级第一,数学年级第一,英语年级第一相差多少. 由于O ...
- 【高精】Oliver的成绩(jzoj 2008)
Oliver的成绩 题目大意: Oliver考了一次试,现在知道他的语数英的成绩,还有年级其他n个人的成绩,现在问Oliver三科各和年级第一差多少分,如果Oliver在这一科上是第一,则输出'0' ...
- 2021年高考成绩查询衡阳市八中,优秀!衡阳2020年各大高中成绩出炉!
原标题:优秀!衡阳2020年各大高中成绩出炉! 今天,衡阳县市区各大高中高考喜报也陆续出炉了,以下是网上整理的各大高中高考成绩. 衡阳市八中 理科最高690分(裸分),文科最高643分(裸分):清华北 ...
- 2020英语计算机统考成绩多久出来,网络教育2020年12月统考成绩查询时间已经公布:1月24日...
原标题:网络教育2020年12月统考成绩查询时间已经公布:1月24日 网络教育统考是很多人都需要参加的考试,从2020年10月31日9:00开始至11月7日17:00,本次统考全国可报考总名额为65. ...
- 北航2020计算机学院招生,北航网络空间安全学院接收2020推免研究生复试成绩公示及相关说明...
北航网络空间安全学院接收2020推免研究生 复试成绩公示及相关说明 一.拟录取规则 1.第一志愿报考学术硕士.专业硕士,复试成绩符合拟录取要求时,按志愿优先录取: 2.不服从调剂的考生,按成绩排序依次 ...
- 高中学业水平计算机时间,2020高中学业水平考试成绩什么时候公布
普通高中学业水平考试是根据国家普通高中课程标准和教育考试规定组织的考试.一般由省级教育行政部门组织实施,主要衡量学生达到国家规定学习要求的程度.那么2020高中学业水平考试成绩什么时候公布呢? 202 ...
- 宜春学院计算机等级考试成绩查询,2020宜春学院艺术类校考成绩查询时间
2020宜春学院艺术类校考成绩查询时间2020-01-18 16:36:25文/张敏 有很多同学在关注2020年宜春学院校考成绩查询时间,为了方便考生们查询成绩,小编整理了宜春学院校考成绩查询时间及入 ...
- 赤峰市计算机考试成绩查询系统,赤峰市中考信息网查分:2020年内蒙古赤峰中考成绩查询入口【已开通】...
[导语]无忧考网从赤峰市中考信息网获悉,2020年内蒙古赤峰中考成绩查询入口已开通,入口开通时间为8月8日起,具体详情如下: 成绩查询时间 2020年内蒙古赤峰市中考成绩查询时间为8月8日-10日17 ...
最新文章
- JavaBean与表单处理
- 《PostgreSQL 9.0性能调校》一一第1章 PostgreSQL版本
- Pytorch基础(六)——激活函数
- 华为云PB级数据库GaussDB(for Redis)揭秘第七期:高斯Redis与强一致
- 【报告分享】我国数字基础设施建设现状及推荐措施研究报告.pdf(附下载链接)...
- 引入antd组件样式_create-react-app 实现 antd 的按需加载
- JS 中对象的简单创建和继承
- android电视接跳舞毯,跳舞毯怎么连接电视 跳舞毯怎么玩
- matlab画三维图像(plot3,mesh,surf)
- 芒种时节,某地为何无人收割小麦?
- 银行系统总体架构\银行核心系统\常用金融名词解释
- (3) IFC文件几何模型 (Industry Foundation Class)
- 自己追加内存【注意事项】
- 从零开始手写VIO 第二章 IMU传感器
- nms、softnms、softernms
- 赛车自行车什么牌子好辐轮王土拨鼠全世界碳纤维自行车品牌排行榜
- 加解密杂烩程序开发(三)
- 平行泊车系统路径规划(5)
- 2019最新Python从入门到精通之30天快速学Python项目实战(完整)
- Polygon zkEVM zkROM代码解析(2)