目录
题目传送
P2669 [NOIP2015 普及组] 金币
-
简单题,可以画个图
-
需要注意是否需要开 long long
-
\({(1+n)*n}/{2}=1e4 ==> n<2e2\)
-
\(2e2*1e4 = 2e6\) 无需 long long。
-
若扩大数据范围,就需要longlong以及利用公式优化了
点击查看代码
#include<bits/stdc++.h>
using namespace std;
int main() {
int k,cnt=0, ans=0; cin>>k;
for(int i=1; cnt<k; i++){
// for(int j=1; j<=i && cnt<k; j++) {
// ans+=i, cnt++;
// }
if(cnt+i<=k) ans+=i*i, cnt+=i;// 可以优化
else { ans+=i*(k-cnt); break; }
}
cout<<ans;
return 0;
}
P2670 [NOIP2015 普及组] 扫雷游戏
- 开心游戏,为了简化,可以开 dis[][2] 数组记录方向
- 枚举每个点,如果不是地雷,查询九宫格内的地雷数量。
点击查看代码
#include<bits/stdc++.h>
using namespace std;
const int N=110,INF=0x3f3f3f3f;
int n,m,dis[][2]={-1,-1, -1,0, -1,1, 0,-1, 0,1, 1,-1, 1,0, 1,1};
string s[N];
int main() {
cin>>n>>m;
for(int i=0; i<n; i++) cin>>s[i];
for(int i=0; i<n; i++){
for(int j=0; j<m; j++){
if(s[i][j]=='?'){
int cnt=0;
for(int k=0; k<8; k++){
int tx=i+dis[k][0], ty=j+dis[k][1];
if(tx<0||tx>=n||ty<0||ty>=m) continue;
if(s[tx][ty]=='*') cnt++;
}
s[i][j]=cnt+'0';
}
}
}
for(int i=0; i<n; i++) cout<<s[i]<<endl;
return 0;
}
P2671 [NOIP2015 普及组] 求和
P2672 [NOIP2015 普及组] 推销员
原文地址:http://www.cnblogs.com/hellohebin/p/16812838.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性