NOIP2015&2016普及组解题报告
NOIP2015普及组题目下载
NOIP2016普及组题目下载
NOIP2015普及组题目:
NOIP2018RP++
NOIP2016普及组题目
NOIP2018RP++
# T1 金币$(coin.cpp/c/pas)$
## 题意
第一天,骑士收到一个金币,第二、三天,收到两个金币,第四、五、六天,收到三个金币......问$k$天,骑士一共收到几个金币?
## 数据范围
对于 100%的数据,$1 ≤ K ≤ 10,000$。
## 思路
~~这道题很水~~
看完数据范围,果断枚举啦。
废话不多说,我知道你们想看这个:(头文件就不传了,如果八道题都传的话,我的博客会变得很长。。。)
#define ll long long
using namespace std;
inline ll read(){
char ch=getchar();ll res=0,f=1;
while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
while(ch>='0'&&ch<='9') res=res*10+ch-'0',ch=getchar();
return res*f;
}
inline void write(ll zx){
if(zx<0) zx=-zx,putchar('-');
if(zx<10) putchar(zx+'0');
else{
write(zx/10);
putchar(zx%10+'0');
}
}
ll n,ans,k=0;
int main(){
freopen("coin.in","r",stdin);freopen("coin.out","w",stdout);
n=read(); //输入
for(ll i=1;k<n;i++){ //表示该天要加多少金币
for(ll j=1;j<=i;j++){ //持续i天
ans+=i; //答案记录
++k; //记住是k天哦
if(k==n) break; //有可能k天并不能刚好取完,所以加一个break
}
}
write(ans);putchar('\n'); //输出
return 0;
}
T2 扫雷游戏\((mine.cpp/c/pas)\)
题意
玩一下windows系统下的扫雷你就知道了。(手动滑稽)
每一个格子要不是雷,那就是数字。
雷:表示这个格子里有地雷。
数字:表示这个格子四周8个格子的雷的总数。
问:在某一个状态下,扫雷系统的状态。
数据范围
对于 100%的数据,\(1≤n≤100,1≤m≤100\)。
思路
这道题暴力就好了啊233333
这道题有两个思路:
1.枚举一下每一个格子,如果是数字,扫一遍其周围的格子,如果是雷,这个数字+1,如果是雷,那么就直接输出*。
2.枚举一下每一个格子,如果是雷,将四周的格子数字+1。最后输出的时候如果是雷,那么直接输出,否则输出之前累加的数字。
inline int read(){
char ch=getchar();int res=0,f=1;
while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
while(ch>='0'&&ch<='9') res=res*10+ch-'0',ch=getchar();
return res*f;
}
inline void write(int zx){
if(zx<0) zx=-zx,putchar('-');
if(zx<10) putchar(zx+'0');
else{
write(zx/10);
putchar(zx%10+'0');
}
}
char a[110][110];
int f[110][110];
int n,m;
void work(int x,int y){
f[x-1][y]++;
f[x-1][y-1]++;
f[x-1][y+1]++;
f[x][y-1]++;
f[x][y+1]++;
f[x+1][y-1]++;
f[x+1][y]++;
f[x+1][y+1]++;
}
int main(){
freopen("mine.in","r",stdin);freopen("mine.out","w",stdout);
n=read();m=read();
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
char ch;
cin>>ch;
a[i][j]=ch;
if(ch=='*') work(i,j); //采用方法2,如果是雷,拓展四周
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(a[i][j]=='*') putchar('*'); //如果是雷
else write(f[i][j]); //如果是数字
}
putchar('\n');
}
return 0;
}
T3 求和 \((sum.cpp/c/pas)\)
题意
一条狭长的纸带被均匀划分出了\(n\)个格子,格子编号从\(1\)到\(n\)。每个格子上都染了一种颜色\(colori\)(用\([1,m]\)当中的一个整数表示),并且写了一个数字\(numberi\)。
定义一种特殊的三元组:\((x, y, z)\),其中\(x,y,z\)都代表纸带上格子的编号
需要满足一下条件:
\(x,y,z\)都是整数,\(x<y<z\),\(y-x=z-y\)
\(colorx=colorz\)
问:所有满足以上条件的三元组的\((x + z) ∗ (
NOIP2015&2016普及组解题报告的更多相关文章
- NOIP 2018 普及组 解题报告
目录 标题统计 题目链接 思路 代码 龙虎斗 题目链接: 思路 代码 摆渡车 题目链接: 思路 对称二叉树 题目链接 思路: 先来解释一下为毛现在才来发解题报告: 其实博主是参加过NOIP 2018普 ...
- NOIP2017普及组解题报告
刚参加完NOIP2017普及,只考了210,于是心生不爽,写下了这篇解题报告...(逃 第一次写博,望dalao们多多指导啊(膜 第一题score,学完helloworld的人也应该都会吧,之前好多人 ...
- NOIP2016普及组解题报告
概述 \(NOIP2016\)普及组的前三题都比较简单,第四题也有很多的暴力分,相信参加了的各位\(OIer\)在\(2016\)年都取得了很好的成绩. 那么,我将会分析\(NOIP2016\)普及组 ...
- NOIP2016提高组解题报告
NOIP2016提高组解题报告 更正:NOIP day1 T2天天爱跑步 解题思路见代码. NOIP2016代码整合
- 【NOIP2015】提高day2解题报告
题目: P1981跳石头 描述 一年一度的“跳石头”比赛又要开始了!这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间,有 N ...
- NOIP【2016普及组】 考后有感(买铅笔,回文日期,海港,魔法阵)
普及组考试已落下大幕,但我们那扑通扑通等待成绩的心仍然无法平静,先来给四道题做一个总结: 一. 买铅笔 自评难度:1星 其实这道题没有什么难度,生命之题,满分必拿,100分,保底啦~\(≧▽≦)/~ ...
- noip2015 提高组 解题报告
完美退役...说好的不卡常呢QAQ day1: T1:模拟题?..考察选手将题目描述翻译成代码的能力233 //其实真相是考验rp..论代码雷同的危害233 T2:简单图论,每个点出度为1所以是基环内 ...
- Noip2015提高组解题报告
Day1 T1神奇的幻方 一道简单异常的小模拟,我们只需要确定数字1的位置,然后根据题意枚举即可,简简单单就A了,什么也不卡. 然而这题,我刚开始学OI的时候,因为当时比较蠢,被这题花式吊打啊.... ...
- noip2009提高组解题报告
NOIP2009潜伏者 题目描述 R 国和S 国正陷入战火之中,双方都互派间谍,潜入对方内部,伺机行动. 历尽艰险后,潜伏于 S 国的R 国间谍小C 终于摸清了S 国军用密码的编码规则: 1. S 国 ...
随机推荐
- Java入门:一些初学者需要掌握的基础算法程序——二分查找
本例演示如何通过二分算法查找一个链表中的指定元素. import java.util.Scanner; class BinarySearchExample { public static void m ...
- random函数详解
1. 随机函数 Math.random() Math.random(); 取值范围是 [ 0.0,1.0 ) 的左闭右开区间.具体源代码如下所示: Math.random()是生成0~ ...
- Mongo 后台加索引踩坑
背景,随着mongo数据量变大,查询效率变低,要对索引进行优化,所在公司对mongo依赖比较严重,而DBA并不对mongo的权限做控制,所以每个后端开发都有mongo的读写权限,通常每个人各自管理自己 ...
- 如何在Mongodb中实现数据超时自动删除功能?
在工作过程中,我们难免会遇到这样的问题,我们想保存一些数据,但是我们对这些数据的要求并不高,有时候往往只是想要某个时间范围内的数据,比如我们如果永远只关心从当前时间往前推半年内的数据特性,那么我们就不 ...
- 洛谷 p2066 机器分配(资源型)
机器分配 https://www.luogu.org/problem/show?pid=2066 题目描述 总公司拥有高效设备M台,准备分给下属的N个分公司.各分公司若获得这些设备,可以为国家提供一定 ...
- Linux下安装PHP的lua扩展库
一.安装Lua 5.3.4 下载 http://www.lua.org/ftp/lua-.tar.gz tar xvf lua-.tar.gz cd lua- 重要:进入解压缩后的路径 cd .../ ...
- Calculus on Computational Graphs: Backpropagation
Calculus on Computational Graphs: Backpropagation Introduction Backpropagation is the key algorithm ...
- 【转载】 深度学习与自然语言处理(1)_斯坦福cs224d Lecture 1
版权声明:本文为博主原创文章,未经博主允许不得转载. 原文地址http://blog.csdn.net/longxinchen_ml/article/details/51567960 目录(?)[- ...
- Java并发编程原理与实战八:产生线程安全性问题原因(javap字节码分析)
前面我们说到多线程带来的风险,其中一个很重要的就是安全性,因为其重要性因此,放到本章来进行讲解,那么线程安全性问题产生的原因,我们这节将从底层字节码来进行分析. 一.问题引出 先看一段代码 packa ...
- linux netstat查看服务和端口状态
netstat可以查看linux系统中正在使用的服务和端口情况 常见参数 -a (all)显示所有选项,默认不显示LISTEN相关-t (tcp)仅显示tcp相关选项-u (udp)仅显示udp相关选 ...