当前位置: 首页 > news >正文

ACM第一周---周训---题目合集.

🚀write in front🚀
📝个人主页:认真写博客的夏目浅石.CSDN
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​
📣系列专栏:ACM周训练题目合集.CSDN
💬总结:希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🖊
✉️为什么我们不知疲倦,因为我们都在做自己所热爱的事 ♐

文章目录

  • 前言
  • A - How many days?
  • B - Pangram
  • C - Cifera
  • D - Covered Points Count
  • E - Ksusha and Array
  • F - 最大连续子序列
  • G - Wow! Such Doge!
  • H - Counting Rectangles
  • I - 素数判定
  • J - 最大子矩阵
  • 总结


在这里插入图片描述

前言

本周进行了一些特别基础的练习来巩固知识,写成博客方便我去复习使用。


A - How many days?

在这里插入图片描述

思路:语法题,根据题目要求,按部就班去写就可以AC

#include<stdio.h>int main()
{int m,k;while(~scanf("%d %d",&m,&k)){if(m==0&&k==0){break;}int cnt=0,day=0;while(m){cnt++;m--;if(cnt==k){m++;cnt=0;}day++;}printf("%d\n",day);}return 0;
}

B - Pangram

在这里插入图片描述

思路:桶排序思想

#include<iostream>using namespace std;int book[27];int main()
{int n;cin>>n;char ch;for(int i=0;i<n;++i){cin>>ch;if(ch>='A'&&ch<='Z'){ch=ch+'a'-'A';}book[ch-97]++;}int flag=0;for(int i=0;i<26;++i){if(book[i]==0){flag=1;break;}}if(flag==1) puts("NO");else puts("YES");return 0;
}

C - Cifera

在这里插入图片描述

思路:判断k是否是l的次幂次关系,语法问题

#include<stdio.h>typedef long long ll;int main()
{ll k,l,tmp;scanf("%lld %lld",&k,&l);tmp=k;int cnt=0;while(tmp<l){tmp*=k;cnt++;}if(tmp==l) {puts("YES");printf("%d\n",cnt);}else puts("NO");return 0;
}

D - Covered Points Count

在这里插入图片描述

等我研究一下,emmm我不会我是fw

E - Ksusha and Array

在这里插入图片描述

思路:qsort进行排序,然后拿最小的那个去整除所有数字看是否可以整除

#include<stdio.h>
#include<stdlib.h>
int cmp1(const void* e1, const void* e2)
{return *((int*)e1) - *((int*)e2);
}
int flag=0;
int main()
{int n;int arr[100010];scanf("%d",&n);for(int i=0;i<n;++i){scanf("%d",&arr[i]);}qsort(arr,n,sizeof(arr[0]),cmp1);int flag=1;for(int i=0;i<n;++i){if(arr[i]%arr[0]){flag=0;break;}}if(flag) {printf("%d\n",arr[0]);}else {printf("-1\n");}return 0;
}

F - 最大连续子序列

在这里插入图片描述

#include "iostream"  
#include "stdio.h"  
#include "math.h"     
#include "algorithm"  
#include "string"  
using namespace std;  
#define max(a,b) a>b?a:b
#define min(a,b) a<b?a:bint n;
int a[10010];int main()
{while(scanf("%d",&n)!=EOF&&n){int i,j=0,tmp=0,sum=0,maxx=-1,s=0,e=n-1;for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n;i++){tmp+=a[i];if(tmp>maxx){s=j;e=i;maxx=tmp;}else if(tmp<0){j=i+1;tmp=0;}}if(maxx<0)maxx=0;printf("%d %d %d\n",maxx,a[s],a[e]);}
}

G - Wow! Such Doge!

在这里插入图片描述

#include<iostream>
#include<cstdio>
#include <string.h>
using namespace std;
int main()
{char arr[1001];int len,i,cnt=0;while(~scanf("%s",arr)){len=strlen(arr);for(i=0;i<len;i++){if(arr[i]=='d'||arr[i]=='D'){if(arr[i+1]=='o'||arr[i+1]=='O'){if(arr[i+2]=='g'||arr[i+2]=='G'){if(arr[i+3]=='e'||arr[i+3]=='E'){cnt++;i+=3;}}}}}}cout<< cnt <<endl;return 0;
}

H - Counting Rectangles

不会

I - 素数判定

在这里插入图片描述

#include<stdio.h>
int main()
{int x,y,i,j;scanf("%d %d",&x,&y);while(x!=0||y!=0){int flag=0;for(i=x;i<=y;i++){int sum=i*i+i+41;for(j=2;j<sum;j++){if(sum%j==0){flag=1;break;}else continue;}}if(flag==0){printf("OK\n");}else{printf("Sorry\n");}scanf("%d %d",&x,&y);	}return 0;
}

J - 最大子矩阵

在这里插入图片描述

思路:二维前缀和公式的使用

#include<stdio.h>
#include<string.h>
#include<math.h>int arr[1010][1010];int main()
{int t,m,n,x,y;scanf("%d",&t);while(t--){memset(arr,0,sizeof(arr));int ans=0;scanf("%d %d %d %d",&n,&m,&x,&y);for(int i=1;i<=n;++i){for(int j=1;j<=m;++j){scanf("%d",&arr[i][j]);arr[i][j]+=arr[i-1][j]+arr[i][j-1]-arr[i-1][j-1];if(i>=x&&j>=y){ans=fmax(arr[i][j]-arr[i-x][j]-arr[i][j-y]+arr[i-x][j-y],ans);}}}printf("%d\n",ans);}return 0;
}

总结

多刷,多学,多做。

  我是夏目浅石,希望和你一起学习进步,刷题无数!!!希望各位大佬能一键三连支持一下博主,hhhh~我们下期见喽
在这里插入图片描述
如果无聊的话,就来逛逛我的博客栈吧stack-frame.cn

原创不易,还希望各位大佬支持一下\textcolor{blue}{原创不易,还希望各位大佬支持一下}原创不易,还希望各位大佬支持一下

👍 点赞,你的认可是我创作的动力!\textcolor{9c81c1}{点赞,你的认可是我创作的动力!}点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!\textcolor{ed7976}{收藏,你的青睐是我努力的方向!}收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!\textcolor{98c091}{评论,你的意见是我进步的财富!}评论,你的意见是我进步的财富!

http://www.lryc.cn/news/7192.html

相关文章:

  • SCI学术论文的基本架构,以及Results、Discussion、Conclusion这三者的区别
  • 二叉树性质
  • 二维数组操作示例
  • Spring Boot邮件发送(powernode CD2207)(内含教训视频+源代码)
  • FortiTalk | “三英论安全”之OT安全热门话题解读
  • 前端开发:关于diff算法详解
  • 如何为报表开发工具 FastReport .NET 设置 Apache 2 Web 服务器?
  • 华为OD机试真题JAVA实现【出租车计费】真题+解题思路+代码(20222023)
  • MySQL 查看版本的 5 种方法
  • 【软件测试】稳定性测试怎么做,这篇文章彻底讲透了~
  • Leetcode:198. 打家劫舍、213. 打家劫舍 II、337. 打家劫舍 III(C++)
  • 【每日随笔】手指训练 ( 手指训练作用 | 哪些人需要手指训练 | 手指操 | 手指康复训练器材 )
  • ATR指标在外汇交易中的另类运用方法
  • SQL Server 数据批量导出处理
  • 虹科分享 | CANopen协议基础知识——LSS服务
  • JS混淆和解混淆
  • MySQL-数值函数
  • SpringMVC(1)
  • 珠海先达MES系统六大功能解决电子组装行业可视化问题
  • 获取本机的IP地址,看似简单的获取,实则蕴含非常多的操作
  • 【SSM】篇一:初试Spring--Ioc与Bean
  • 华为OD机试真题Python实现【出租车计费】真题+解题思路+代码(20222023)
  • Elasticsearch:如何修改 nested 字段的值
  • 【JAVA】jdk8 Stream 排序精通
  • python的opencv操作记录12——Canny算子使用
  • Spark on hive Hive on spark
  • 【MySQL】子查询
  • Day889.MySQL高可用 -MySQL实战
  • 剑指 Offer 24. 反转链表
  • “黑铁时代”,地产人如何以客户视角加速房企数字化转型