题解 P4613 【[COCI2017-2018#5] Olivander】
话说这道题,作为一个哈迷,是不能错过的
我很惊讶本蒟蒻竟然看得懂题面
好了,闲话少说,这道题,虽说是入门难度,但凭着良心说,它还是一道普及 - 的吧
看到标签,“高性能”,大脑的第一反应是快读。
是不是 如雷贯耳 ?
是不是 久仰大名 ?
是不是仔细想想,咦?快读到底是干嘛的? 尴尬
本蒟蒻查了一下,快读就是快速读入 (从字面上来理解)
咳咳,emm…… 快读的原理就是将一个整数转化为先输入一个字符,再将其转化为整数。大家应该都知道,字符 0 的 ASCII 码是 48 ,那么,所有字符数字对应的整数是否就应该转化为它的 ACSII 码减去48 ( 即字符 '0' ) 呢?(从本义上来理解)
显然是的。
那么,具体应该怎么实现呢?
int read(){//快读
int r=0,f=1;//r为计数器,f为标志,看是正数还是负数
char c=getchar();//先入c
while((c<'0'||c>'9')&&c!='-')
c=getchar();//为别的符号时直接读入,不管它是什么
if(c=='-')//如果读入了负号,标记置-1,为后来做铺垫
f=-1,c=getchar();
while(c<='9'&&c>='0')//正式读入数字
r=r*10+c-'0',c=getchar();//r开始增加,转化为多位数
return r*f;//若f=1则为正数,f=-1为负数
}
是不是很容易理解?
还有一个知识点,就是
排序!!!
所谓排序,就是将数组按规定顺序 (从小到大或从大到小,以及其他) 排列
如果你的第一个下标为0,则排序为这样的:( 在函数库里规定为从小到大 )
sort(a,a+n);//n为元素个数
若为1,则是:
sort(a+1,a+1+n);
这里补充一下如果你要按从大到小排序应该怎样做:
//先定义自函数
int cmp(int a,int b){
return a>b;
}
//再排序
sort(a+1,a+1+n,cmp);
好了,本题的知识点都讲完了。 应该是我太蒟才没发现其他知识点
下面放出完整代码:( 我没开O2也没事? 应该没事,本人亲测)
#include<cstdio>
#include<algorithm>//不要在意头文件
#define maxn 101//定义maxn的值,即a与b数组的元素最多多少个
using namespace std;//本蒟蒻总会写这个
int n,a[maxn],b[maxn],i;
int read(){//快读万岁
int r=0,f=1;
char c=getchar();
while((c<'0'||c>'9')&&c!='-')
c=getchar();
if(c=='-')
f=-1,c=getchar();
while(c<='9'&&c>='0')
r=r*10+c-'0',c=getchar();
return r*f;
}
int main(){
n=read();//在用read函数时读入方法,get一下
for(i=1;i<=n;i++)
a[i]=read();//同上
for(i=1;i<=n;i++)
b[i]=read();//同上
sort(a+1,a+1+n);//排序 ( 我的第一个下标是1,所以这样排序 )
sort(b+1,b+1+n);//这里也是
for(i=1;i<=n;i++){
if(a[i]>b[i]){//如果魔杖放不下
printf("NE");//不满足题意直接拜拜,输出"NE"
return 0;
}
}
printf("DA");//检查完再输出"DA"
return 0;
}
OI 加油!洛谷冲鸭!
题解 P4613 【[COCI2017-2018#5] Olivander】的更多相关文章
- 洛谷 题解 P4613 【[COCI2017-2018#5] Olivander】
我又双叒叕被包菜辣! P4613 [COCI2017-2018#5] Olivander 首先,不知道为什么这题无法提交翻译: 所以,我先放个翻译: 哈利波特在与伏地魔的战斗中损坏了他的魔杖.他决定在 ...
- COCI2017/2018 CONTEST #7
Prosjek 显然,越大的数应该越后参与平均数的计算,这样受较小数的影响就小一些 那我们就排个序,贪心的从最小的数开始往大的计算平均数即可 时间复杂度\(O(nlogn)\) Timovi 把分组分 ...
- Week One
2018.11.21: 1.[BZOJ 4868][SHOI 2017] 从后往前枚举最后位置即可,如果$A<B$,用尽可能多的$A$替换$B$操作 Tip:很大的$C$可能爆$longlong ...
- TSOJ--2018 江苏省省赛
[2018 江苏省大学生程序设计大赛] K. 2018 (测试数据范围有扩大) Problem Given a, b, c, d, find out the number of pairs of int ...
- 记 2019蓝桥杯校内预选赛(JAVA组) 赛后总结
引言 好像博客好久没更新了 哈哈哈哈哈 趁现在有空更新一波 不知道还有没有人看 确实该记录一下每天做了什么了 不然感觉有些浑浑噩噩了 比赛介绍 全称: 蓝桥杯全国软件和信息技术专业人才大赛 蓝桥杯 实 ...
- NOIP赛前集训备忘录(含每日总结)(日更?。。。)
NOIP赛前集训备忘录(含每日考试总结) 标签: 有用的东西~(≧▽≦)/~啦啦啦 阅读体验:https://zybuluo.com/Junlier/note/1279194 考试每日总结(这个东西是 ...
- 20190719-FirstZero
这也许也是一个成就吧? First Zero 考试 第一次 爆0 好了好了. T1 你永远不知道你在想什么. 我仿佛想出一个$\Theta(NM\log^2 N)$的$dfs$??? 蒟蒻原地爆炸 T ...
- 2018 ACM-ICPC Asia Beijing Regional Contest (部分题解)
摘要 本文主要给出了2018 ACM-ICPC Asia Beijing Regional Contest的部分题解,意即熟悉区域赛题型,保持比赛感觉. Jin Yong’s Wukong Ranki ...
- The 2018 ACM-ICPC Asia Qingdao Regional Contest(部分题解)
摘要: 本文是The 2018 ACM-ICPC Asia Qingdao Regional Contest(青岛现场赛)的部分解题报告,给出了出题率较高的几道题的题解,希望熟悉区域赛的题型,进而对其 ...
随机推荐
- mongodb you can't add a second
问题信息: Due to limitations of the com.mongodb.BasicDBObject, you can't add a second 'createTime' expre ...
- web综合案例03
web综合案例03 web综合案例03 web综合案例03 web综合案例03 ... 待复习
- 如何简单的理解TDD与DDT
TDD:TEST-DRIVEN Development 测试驱动开发究竟是什么意思?如何理解测试驱动开发? 举个红绿条简单的例子: 1.编写测试代码 2.编译运行测试代码,肯定会失败,因为实现代码还没 ...
- css奇技淫巧—box-shadow与outline绘制多重边框效果
css语法: box-shadow: h-shadow v-shadow blur spread color inset; 注释:box-shadow 向框添加一个或多个阴影.该属性是由逗号分隔的阴影 ...
- 谈谈python修饰器
前言 对python的修饰器的理解一直停留在"使用修饰器把函数注册为事件的处理程序"的层次,也是一知半解:这样拖着不是办法,索性今天好好整理一下关于python修饰器的概念及用法. ...
- Python网络编程(一)
最近在啃<python核心编程(第三版)>,感觉这本书并不是特别的友好,虽然有基于python3提出的改进代码:但是整书的基准感觉还是在python2.7.所以python3的代码中还是有 ...
- Observer模式(观察者设计模式)
Observer 设计模式? 在Observer模式中,当观察对象的状态发生变化时,会通知给观察者.Observer模式适用于根据对象状态进行相应处理的场景. Observer 并非主动观察,而是被动 ...
- 使用 dbutils 的结果集包装类 StringTrimmedResultSet
1.功能 StringTrimmedResultSet 的功能是去掉结果集中数据的前后空格,这个方法是在取结果的时候处理. 2.使用 一般在新建 QueryRunner 对象的时候使用: QueryR ...
- [技术交流ppt]babel7中preset-env的优化使用
备注 pdf在这里
- lazyload的使用心得
1 2 3 4 5 6 7 8 9 10 11 12 13 14 $("img.lazy").lazyload({ placeholder : "img/grey.g ...