AtCoder Beginner Contest 096 题解
比赛地址
https://abc096.contest.atcoder.jp
A - Day of Takahashi
题目大意
我们把月和日相同的日期叫做“Takahashi日”,求2018年1月1日到2018年aa月bb日中“Takahashi日”的个数。
思路
这个“Takahashi日”只有可能是1月1日,2月2日,……,(a−1)(a−1)月(a−1)(a−1)日,如果b>ab>a那么还要加上一个aa月aa日。
代码
#include <cstdio>int a,b;int main()
{scanf("%d%d",&a,&b);printf("%d\n",(a-1)+(a<=b));return 0;
}
B - Maximum Sum
题目大意
读入A,B,CA,B,C,有一种操作,对A,B,CA,B,C中的一个数翻倍,可以进行KK次操作,问KK次操作后A+B+CA+B+C的最大值。
思路
贪心,对A,B,CA,B,C中最大的一个数不停的翻倍。
代码
#include <cstdio>
#include <algorithm>int a,b,c,t,maxi,ans;int main()
{scanf("%d%d%d%d",&a,&b,&c,&t);if(b<c){std::swap(b,c);}if(a<b){std::swap(a,b);}while(t--){a=a*2;}printf("%d\n",a+b+c);return 0;
}
C - Grid Repainting 2
题目大意
一个画家,要将N×MN×M的方格中标为’#’的方格填成黑色,只能选取相邻的2个格子,并填成黑色,问能否将所有’#’都填成黑色。
思路
只要一个’#’周围有’#’,那么这个’#’就可以被涂黑。
代码
#include <cstdio>const int maxn=50;
const int dx[]={0,1,0,-1};
const int dy[]={1,0,-1,0};char s[maxn+2][maxn+2];
int n,m;int main()
{scanf("%d%d",&n,&m);for(int i=1; i<=n; ++i){scanf("%s",s[i]+1);}for(int i=1; i<=n; ++i){for(int j=1; j<=n; ++j){if(s[i][j]=='#'){int flag=0;for(int k=0; k<4; ++k){int nx=i+dx[k],ny=j+dy[k];if((nx>0)&&(nx<=n)&&(ny>0)&&(ny<=m)&&(s[nx][ny]=='#')){flag=1;break;}}if(flag==0){puts("No");return 0;}}}}puts("Yes");return 0;
}
D - Five, Five Everywhere
题目大意
一个长度为NN的序列,要求每个元素都是素数,都小于55555,而且任意5个元素的和是合数。现在给出NN,要求输出一个满足条件的序列。
思路
这道题我当时没想出来……
如果任意5个元素的和是合数,只需要满足任意一个元素%5=1%5=1,这样的话5个加起来一定%5=0%5=0。当然如果%5=%5=其他的数应该也可以。
代码
#include <cstdio>const int maxn=55555;int read()
{int x=0,f=1;char ch=getchar();while((ch<'0')||(ch>'9')){if(ch=='-'){f=-f;}ch=getchar();}while((ch>='0')&&(ch<='9')){x=x*10+ch-'0';ch=getchar();}return x*f;
}int n,p[maxn+10],prime[maxn+10],cnt,ans[maxn+10],tot;int getprime()
{for(int i=2; i<=maxn; ++i){if(!p[i]){prime[++cnt]=i;if(i%5==1){ans[++tot]=i;}}for(int j=1; (j<=cnt)&&(i*prime[j]<=maxn); ++j){p[i*prime[j]]=1;if(!(i%prime[j])){break;}}}return 0;
}int main()
{getprime();n=read();for(int i=1; i<n; ++i){printf("%d ",ans[i]);}printf("%d\n",ans[n]);return 0;
}
转载于:https://www.cnblogs.com/Canopus-wym/p/10376188.html
AtCoder Beginner Contest 096 题解相关推荐
- AtCoder Beginner Contest 197 题解(A ~ F)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A - Rotate B - Visibility C - ORXOR D - Opposite ...
- Caddi Programming Contest 2021(AtCoder Beginner Contest 193) 题解
Caddi Programming Contest 2021(AtCoder Beginner Contest 193) A - Discount 打折浮点数除即可 B - Play Snuke 枚举 ...
- Panasonic Programming Contest (AtCoder Beginner Contest 195) 题解
文章目录 A - Health M Death B - Many Oranges C - Comma D - Shipping Center E - Lucky 7 Battle F - Coprim ...
- freee Programming Contest 2022(AtCoder Beginner Contest 264) 题解 (A~D)
A - "atcoder".substr() Time Limit: 2 sec / Memory Limit: 1024 MB Score : 100100100 points ...
- [2021-09-04 AtCoder Beginner Contest 217] 题解
文章目录 A - Lexicographic Order B - AtCoder Quiz C - Inverse of Permutation D - Cutting Woods E - Sorti ...
- AtCoder Beginner Contest 168题解
这里写目录标题 A - ∴ (Therefore) 代码 B - ... (Triple Dots) 代码 C - : (Colon) 代码 D - .. (Double Dots) 题意 题解 代码 ...
- AtCoder Beginner Contest 153 题解
题解链接:题解链接 RD是输入,OT是输出 A – SERVAL VS MONSTER 链接: A题 题意: 给你怪物血量H和攻击一次扣A血,问至少要攻击几次能使怪物的血量小于或者等于0 解法: 按题 ...
- AtCoder Beginner Contest 177 题解
希望更好的阅读体验?点这里 一.题解 A.Don't be late 题目大意: 高桥君计划在 TTT 分钟内于离家 DDD 米的地方与青木君碰面,已知高桥君速度为 SSS,问他能否在 TTT 分钟内 ...
- AtCoder Beginner Contest 055题解
A.当a=1就把a改成14,b=1就把b改成14,然后比较a,b大小即可. #include <iostream> #include <algorithm> #include ...
最新文章
- 步步为营 .NET 设计模式学习笔记 六、Adapter(适配器模式)
- 高德技术评测建设之路
- AI时代的高科技读心术:算法解码脑中图像
- C#设计模式之装饰者
- python与excel表格-如何用python处理excel表格
- 第九届蓝桥杯java B组—第三题复数幂(详细介绍)
- 【PAT乙级】1043 输出PATest (20 分)
- 早期的增长黑客 PayPal 如何在2000年初达到每日7%到10%的营收成长?
- 【计算机基础】 Virtual memory 虚拟内存
- mongoDB3.0.2 升级操作
- 闭包允许内层函数引用父函数中的变量,但是该变量是最终值
- ASP.NET的权限问题
- 什么是互联网保险平台?
- mysql金钱默认字段格式化_在SQL数据库中,设置了一个字段的类型为money,但是money类型数据保留的是四位小数,如何设置为两位小数?...
- html入门的一些东西
- 光标函数的使用 gotoxy()
- stm32单片机学习秘籍(完整版)
- 风险投资的TS和DD
- pixi.js淘宝小程序快速上手指南
- Matplotlib自定义图例(多张独立图共享图例)