刚参加完NOIP2017普及,只考了210,于是心生不爽,写下了这篇解题报告。。。(逃

第一次写博,望dalao们多多指导啊(膜

第一题score,学完helloworld的人也应该都会吧,之前好多人0分或60分据说是精度炸了,后面不是又重测了么233

直接给代码

#include <stdio.h>
int a,b,c;
double a1,b1,c1;
int main()
{
    scanf("%d %d %d",&a,&b,&c);
    a1=a*0.2;
    b1=b*0.3;
    c1=c*0.5;
    printf("%.lf",a1+b1+c1);
    ;
}

许多人不会像我这么写而是除以10再去乘,毕竟都是是的整数倍

第二题librarian,这道题简单分析就考了个排序+取余,没什么技术含量,可是由于这个万恶的单词,有个原本265的大佬没拼对然后就gg到165,身边还有一个dalao第三题写了好多却只有十五分,然后第二题多打了个0然后内存就炸了。。。还有某位-1没有打\n。。。(同情

也是直接给代码吧

#include<stdio.h>
#include<algorithm>
#include<iostream>
using namespace std;
];
int main()
{
    ,ss=;
    scanf("%d%d",&n,&q);
    ;i<n;i++)
        scanf("%d",&a[i]);
        sort(a,a+n);
        ;i<q;i++)
    {
        scanf("%d %d",&b,&c);
        s=;ss=;
        ;j<=b;j++)
            s=s*;
        ;j<n;j++)
        {
            if(a[j]%s==c)
            {
                printf("%d\n",a[j]);
                ss=;
                break;
            }
        }
        )printf("-1\n");
    }
    ;
}

第三题...先给题目吧

这道题当我看题目时感觉挺简单的,只是觉得是一个普通的dfs+剪枝,可是当真正写的时候就不知道从何写,如何剪枝,然后调试了1小时。。。未果,注释矣。。。

之后,我写了一个单纯的dfs,纯搜,然后水了65分,代码如下

#include <stdio.h>
][],x,y,color;
;
void dfs(int x1,int y1,int magic,int money,int w_i_c)//w_i_c=What is the color?
{
    if(x1==m&&y1==m)
    {
        if(money<ans) ans=money;
        return ;
    }
    else
    {
        if(!magic)//当未施展魔法时
        {
            <=m)//判边界条件
            {
                ][y1]>)//当有颜色时
                {
                    ][y1]) dfs(x1+,y1,,money,-);
                    ][y1]) dfs(x1+,y1,,money+,-);
                }//只需考虑颜色的变换
                ][y1]==) dfs(x1+,y1,,money+,a[x1][y1]);
            }
            <=m)
            {
                ]>)
                {
                    ]) dfs(x1,y1+,,money,-);
                    ]) dfs(x1,y1+,,money+,-);
                }
                ]==) dfs(x1,y1+,,money+,a[x1][y1]);//颜色就为上一个的颜色
            }//同上
        }
        else//当施展过魔法
        {
            ][y1]!=)
            {
                ][y1]==w_i_c) dfs(x1+,y1,,money,-);
                ][y1]!=w_i_c) dfs(x1+,y1,,money+,-);
            }
            ]!=)
            {
                ]==w_i_c) dfs(x1,y1+,,money,-);
                ]!=w_i_c) dfs(x1,y1+,,money+,-);
            }
        }
    }
}
int main()
{
    scanf("%d %d",&m,&n);
    ;i<=n;i++)
    {
        scanf("%d %d %d",&x,&y,&color);
        a[x][y]=color+;//其余为0表示无色,+1保证非负性
    }
    dfs(,,,,-);//分别代表横坐标,纵坐标,是否施展♂过魔♂法,钱,颜色;-1是一个特殊值
    ) printf("-1");//如果达到这个值就代表ans没有改变,说明到不了终点
    else printf("%d",ans);
    ;
}

第四题说实话没怎么看懂...

粘上一个小学生20分的代码吧。。。

#include<stdio.h>
]={},dis[]={};
int main()
{
    ,flag,start;
    scanf("%d%d%d",&n,&d,&k);
    ;i<=n;i++)
    {
        scanf("%d%d",&dis[i],&sco[i]);
    }
    ;
    ;i<=n;i++)
    {
        )
        {
            sum+=sco[i];
        }
    }
    if(sum<k)
    {
        printf("-1");
        ;
    }
    flag=;
    )
    {
        sum=;start=;
        ans++;
        if(ans<d)
        {
            ;i<=n;i++)
            {
                &&dis[i]-start>=d-ans&&dis[i]-start<=d+ans)
                {
                    sum+=sco[i];
                    start=dis[i];
                    if(sum>=k)
                    {
                        printf("%d",ans);
                        ;
                    }
                }
            }
        }
        else
        {
            ;i<=n;i++)
            {
                &&dis[i]-start>=&&dis[i]-start<=d+ans)
                {
                    sum+=sco[i];
                    start=dis[i];
                    if(sum>=k)
                    {
                        printf("%d",ans);
                        ;
                    }
                }
            }
        }
    }
}

今天就到这里,以后我会多多写博,把自己的意见与大家分享,有不解或志同道合者可以加qq:2396389683,再见

NOIP2017普及组解题报告的更多相关文章

  1. NOIP 2018 普及组 解题报告

    目录 标题统计 题目链接 思路 代码 龙虎斗 题目链接: 思路 代码 摆渡车 题目链接: 思路 对称二叉树 题目链接 思路: 先来解释一下为毛现在才来发解题报告: 其实博主是参加过NOIP 2018普 ...

  2. NOIP2015&2016普及组解题报告

    NOIP2015普及组题目下载 NOIP2016普及组题目下载 NOIP2015普及组题目: NOIP2018RP++ NOIP2016普及组题目 NOIP2018RP++ T1 金币\((coin. ...

  3. NOIP2016普及组解题报告

    概述 \(NOIP2016\)普及组的前三题都比较简单,第四题也有很多的暴力分,相信参加了的各位\(OIer\)在\(2016\)年都取得了很好的成绩. 那么,我将会分析\(NOIP2016\)普及组 ...

  4. NOIP2016提高组解题报告

    NOIP2016提高组解题报告 更正:NOIP day1 T2天天爱跑步 解题思路见代码. NOIP2016代码整合

  5. [NOIP2017普及组]跳房子(二分,单调队列优化dp)

    [NOIP2017普及组]跳房子 题目描述 跳房子,也叫跳飞机,是一种世界性的儿童游戏,也是中国民间传统的体育游戏之一. 跳房子的游戏规则如下: 在地面上确定一个起点,然后在起点右侧画 nn 个格子, ...

  6. 「LOJ 6373」NOIP2017 普及组题目大融合

    NOIP2017 普及组题目大融合 每个读者需要有某个后缀的书,可以暴力map,复杂度\(o(9*nlog(n))\),也可以反串建trie树,复杂度\(o(9*n)\). 故可以求出需要的最少的RM ...

  7. P3956 [NOIP2017 普及组] 棋盘

    P3956 [NOIP2017 普及组] 棋盘 题目 题目描述 有一个 m×m 的棋盘,棋盘上每一个格子可能是红色.黄色或没有任何颜色的.你现在要从棋盘的最左上角走到棋盘的最右下角. 任何一个时刻,你 ...

  8. NOIP2017普及组比赛总结

    期中考总结&NOIP2017总结 2017年11月11日,我第二次参加NOIP普及组复赛.上一年,我的得分是250分,只拿到了二等奖.我便把目标定为拿到一等奖,考到300分以上. 早上8点多, ...

  9. NOIP2017普及组初赛试题及答案

    普及组C++语言试题 一.单项选择题(共 20 题,每题 1.5 分,共计 30 分:每题有且仅有一个正确选项) 1.在 8 位二进制补码中,10101011 表示的数是十进制下的( ). A. 43 ...

随机推荐

  1. 简单的一句sql

    表1 Id Name 1 张三 2 李四 3 王五 表二 Id Name1 Name2 1 1 2 2 2 1 3 2 3 4 1 3 我现在要查出结果如下: Id Name1 Name2 1 张三 ...

  2. Doing Homework

    Doing Homework Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Subm ...

  3. centos 下安装jdk、tomcat 以及tomcat无法从外部访问的解决办法

    centos 下安装jdk.tomcat 以及tomcat无法从外部访问的解决办法 原创 2014年08月28日 10:24:33 标签: selinux enforce cent 2223 昨天在c ...

  4. Android 开发笔记___switch__开关

    default switch <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ...

  5. 第一章 Linux系统介绍与环境搭建准备

    1.操作系统: Operating System,简称OS,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心. 操作系统就是处于用户与计算机系统硬件之间用于传递信息的系统程序软件. ...

  6. CSS3属性——“box-flex”

    CSS3的新增属性有很多,其中有一个比较神奇的,通常称为盒子模型布局,不需要把div浮动,也能合理分配.看如下例子: HTML: <div id="box"> < ...

  7. C# WinForm程序添加启动画面

    如果程序在装载时需要进行较长时间的处理,最好使用启动画面,一方面美化程序,一方面可以不使用户面对着一片空白的程序界面. 我手头上一个小项目主界面启动时需要检查用户文件及运行环境是否有效,需要一段时间处 ...

  8. 使用工厂方法模式实现多数据库WinForm手机号码查询器(附源码)

    先讲一下简单工厂模式.工厂方法模式.抽象工厂模式的东西: 简单工厂模式(Simple Factory Pattern):工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关类,也就是说产品 ...

  9. Redis全面介绍

    最近重新认识了一下Redis,借着这个机会,也整理一篇算是比较详尽和全面的文章吧.   缓存 缓存就是数据交换的缓冲区(称作Cache)——摘自百度百科.无论是在计算机硬件体系结构还是软件体系结构中, ...

  10. python调用c代码

    Linux环境下使用python调用C的printf例子: #!/usr/bin/env python2.7 #-*- coding:utf-8 -*- from ctypes import * de ...