2019 ACM训练计划——( 每天5题 ) 训练计划⑦
发布日期:2021-06-29 14:25:42 浏览次数:3 分类:技术文章

本文共 2544 字,大约阅读时间需要 8 分钟。

A


题目大意

规定只有4和7的数字为幸运数,求含有4和7个数为4或7的数字的个数


题解

水题,用字符串做处理,统计4和7出现次数 如果出现次数也是等于4或者7的话,就输出YES 否则输出NO

#include
using namespace std;int main(){
ios::sync_with_stdio(false); cin.tie(0); string s; cin>>s; int cnt=0; for(int i=0;i

B


题目大意

两个人想在一个地方 就看有没有多的剩余空间


题解

水题,统计当前地方空间是否还大于等于2 如果大于等于2 那么代表可以 加一次

#include
using namespace std;int main(){
ios::sync_with_stdio(false); cin.tie(0); int n; cin>>n; int a,b,cnt=0; for(int i=0;i
>a>>b; if(b-a>=2) ++cnt; } cout<
<

C


题目大意

其实就是一个判断成环的dfs


题解

由于dfs搜索只能上下左右,所以只要我们步数走回了自己就是一个环一个矩形 不过得排除一个 或者两个情况 所以最小的环都必须由四个相同的大写字母组成

第一种

#include
using namespace std;int dir_x[]={
1,0,-1,0};int dir_y[]={
0,-1,0,1};int n,m;const int maxn=100+5;char mp[maxn][maxn];bool vis[maxn][maxn];int ff;int ex,ey;bool check(int x,int y,int xx,int yy){
if(xx>=0&&xx
=0&&yy
2){
ff=1; return; } }}int main(){
ios::sync_with_stdio(false); cin.tie(0); while(cin>>n>>m){
memset(vis,false,sizeof(vis)); for(int i=0;i
>mp[i]; ff=0; for(int i=0;!ff&&i

第二种

#include
using namespace std;int dir_x[]={
1,0,-1,0};int dir_y[]={
0,-1,0,1};int n,m;const int maxn=100+5;char mp[maxn][maxn];bool vis[maxn][maxn];int ff;int ex,ey;bool check(int x,int y,int xx,int yy){
if(xx>=0&&xx
=0&&yy
=3){
//区别在这里 ff=1; return; } if(check(x,y,xx,yy)){
dfs(xx,yy,tmp+1); } }}int main(){
ios::sync_with_stdio(false); cin.tie(0); while(cin>>n>>m){
memset(vis,false,sizeof(vis)); for(int i=0;i
>mp[i]; ff=0; for(int i=0;!ff&&i

D


题目大意

题意是每次对数组中一个元素进行+1或-1操作 使得所有数组元素都在1-n中


题解

从小到大进行排序,用当前下标值减去当前值就OK 注意用long long 用int会被卡

#include
using namespace std;const int maxn=3e5+5;int a[maxn];int main(){
ios::sync_with_stdio(false); cin.tie(0); int n; cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; sort(a+1,a+1+n); long long ans=0; for(int i=1;i<=n;i++){
ans+=abs(i-a[i]); } cout<
<

E


题目大意

一群男女排队,每一个回合如果一个男生后面站着一个女生,那么女士优先,先让女生站前面


题解

水题,每一轮进行判断,按题意要求即可

#include
using namespace std;int main(){
ios::sync_with_stdio(false); cin.tie(0); int n,t; vector
vt; cin>>n>>t; string s; cin>>s; for(int i=0;i
学如逆水行舟,不进则退

转载地址:https://chocolate.blog.csdn.net/article/details/101212648 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Codeforces Round #587 (Div. 3), problem: (D) Swords 【数学+gcd+奇妙解题?】
下一篇:简单解决某盘限速?(黑科技)【油猴】+【某盘直链下载器】+【IDM下载】

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月20日 02时33分01秒