刚参加完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. JNI 对象处理 (转)

    JNI 的基本问题就是解决 Java 和 C++ 代码互相调用的通信问题,在 C++ 代码编写过程中最大的问题莫过于适应其中的代码编写规则,C++调用或是返回的内容必须遵守 JVM 和 C++ 代码的 ...

  2. Struts2实现文件上传下载功能(批量上传)

    今天来发布一个使用Struts2上传下载的项目, struts2为文件上传下载提供了好的实现机制, 首先,可以先看一下我的项目截图 关于需要使用的jar包,需要用到commons-fileupload ...

  3. Android 开发笔记___SQLite__优化记住密码功能

    package com.example.alimjan.hello_world; /** * Created by alimjan on 7/4/2017. */ import com.example ...

  4. CSS 备忘

    border-radius :  10px  /  40px    10表示X轴半径   40表示Y轴半径   font:italic bold 13px/13px arial,sans-serif; ...

  5. HTML学习笔记 w3sCss盒子模型应用案例(div布局) 第十一节 (原创) 参考使用表

    * { margin: 0px; padding: 0px; } .top { width: 100%; height: 50px; background-color: antiquewhite; } ...

  6. RE: Javascript分页处理

    背景: 调用PHP后端给的接口,以实现分页的功能.由于我是没造轮子的能力,所以翻了不少技术博客,经过整合才算完成整个分页功能.从一番查阅中,不难看出大概分为两种不同的分页: 一种是纯前端的,就是在一次 ...

  7. IntelliJ配置jenkins服务的Crumb Data

    近期在做jenkins测试,IntelliJ并没有自动安装jenkins服务器,因此需要自己添加,但是如果不配置Crumb Data,jenkins的服务就不能使用. 首先在服务器中开启CSRF服务, ...

  8. Java 核心内容相关面试题【2】

    第一,谈谈final, finally, finalize的区别. final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能既被声明为 ...

  9. VS2015如何连接mySQL数据库图文

    1.新建一个工程名叫mysql,编程环境选择c#,然后选择windows窗体应用程序,新建一个窗体用于显示查询到sql数据库的数据集 2.从工具箱向form1窗体上拖一个按钮和datagridview ...

  10. Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例

    目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装项目其它需要包 清除冗余文件并重新规划项目目录 配置文件 规划示例路由,并新建相关文件 实现数据访问和业务逻辑相关方法 编写mys ...