码迷,mamicode.com
首页 > 其他好文 > 详细

题解 P4613 【[COCI2017-2018#5] Olivander】

时间:2019-06-24 22:29:43      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:space   高性能   span   sort   入门   性能   key   sci   文件   

话说这道题,作为一个哈迷,是不能错过的

我很惊讶本蒟蒻竟然看得懂题面

好了,闲话少说,这道题,虽说是入门难度,但凭着良心说,它还是一道普及 - 的吧

看到标签,“高性能”,大脑的第一反应是快读

是不是 如雷贯耳

是不是 久仰大名

是不是仔细想想,咦?快读到底是干嘛的? 尴尬

本蒟蒻查了一下,快读就是快速读入 (从字面上来理解)

咳咳,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】

标签:space   高性能   span   sort   入门   性能   key   sci   文件   

原文地址:https://www.cnblogs.com/SeashellBaylor/p/11079814.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!