1700,生活不易,szw卖艺

思路解析:如题意所示,从1开始奇数染红色,偶数染绿色,红绿交错出现;是否存在一个区间,使得红色格子数为r,绿色格子数为g。

那么,我们可以发现,在任意一个区间里面,红色格子数量与绿色格子数量可以分为三种情况:

1.红色格子数量比绿色格子数量多一个

2.绿色格子数量比红色格子数量多一个

3.红色格子数量与绿色格子数量相等

并且还有一点,在任意一个区间中,两种颜色格子数量都不可能同时为0。

因此,我们可以反推,若存在一个区间使得红色格子数为r,绿色格子数为g,那么r与g必然满足上面所列出的关系。

另外还需注意本题为多组输入输出!!!

参考代码:在这个代码判断中合理的利用了短路,大家仔细揣摩

针对此题要特别注意考虑0,1;1,0;0,0;这三个特殊情况

#include<stdio.h>
int r,g;
int main()
{while(scanf("%d %d",&r,&g)!=EOF){if(r-g == 1||r-g == -1||r-g == 0&&r!=0&&g!=0){printf("YES\n");}else{printf("NO\n");}   }return 0;
}

另一种参考代码:

#include<stdio.h>
#include<math.h>
int r,l;
int main(){while(scanf("%d%d",&r,&l)!=EOF){if(r==0&&l==0){printf("NO\n");continue;}if(abs(r-l)>1)printf("NO\n");elseprintf("YES\n");}return 0;
}

1701,是最小公倍数呀

解题方法有很多,不再赘述,关于其他方法,大家可以自己去写一写,试一试。在此用之前讲过的公式法做一个示例

参考代码:

#include<iostream>
#include<algorithm>
using namespace std;
int n,m,t;
int gcd(int x,int y)   //递归的方法来求最大公约数
{if(x % y == 0)return y;return gcd(y,x % y);
}
int main()
{cin>>t;while (t--){cin>>n>>m;cout<<n*m/gcd(n,m)<<endl;}return 0;
}

1703,春江花月夜

思路解析:好好读清题目

本意是一个签到题,输出这首诗的总字数,答案为252

但看到好多离谱的操作,有输出那两句话的;有输出标红文字的;还有把标红文字英文输出的,,,不禁感慨大家的脑洞好大

错在我,怪我说的不太清楚,下次不会了,但是还是要再次提醒大家认真读题目。

参考代码:

#include <stdio.h>
int main (){printf("252\n"); return 0;        }

1704,你看我眼熟不眼熟

思路解析:这道题目是原题,之前讲过思路但是并没有跟大家源码,思路非常奇妙,也跟大家说过肯定会有这道题目,哎,看到大家提交了81次还没人做出来,

实现代码很简单,巧妙地是思路,大家再看一下这个思路

 参考代码:

#include<stdio.h>
int main()
{long long int n;scanf("%lld",&n);long long int sum=0;while(n){sum=sum+n/3;n=n/3;}printf("%lld",sum);return 0;
}

另外需要注意,这道题数据量较大,所以使用long long 类型

这道题数据量本来就大10的8次方,如果再用for循环去求阶乘,肯定会超时,如果遇到超时问题,就需要更换自己的实现方法了!!!!!

1705,月亮月亮

思路解析:根据已知的情况去判断接下来月亮的变化,唯一的难点就是需要考虑完整所有的情况

这道题目有三个同学做出来了,每个人思考的方式不同写出来的代码也不相同。

下面我简单说一下我的想法,可供大家思考:

1.当我已知的情况中最后一天是15(即对应我代码中a[n]==15),那么接下来月亮必然会变小

2.当我已知的情况中最后一天是0(即对应我代码中a[n]==0),那么接下来月亮必然会变大

3.当我已知的情况中只有一个数(即对应我代码中n==1),那么接下来月亮可能会变大也可能会变小,因此不确定变化情况

4.当我已知情况中最后一天比上一天大(即a[n]-a[n-1]>0),那么接下来月亮会变大

5.当我已知情况中最后一天比上一天小(即a[n]-a[n-1]<0),那么接下来月亮会变小

以上是我做题时的想法,但是方法不唯一,仅仅可供大家参考。

参考代码:

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{int a[100],n;scanf("%d",&n);for(int i=1; i<=n; i++)scanf("%d",&a[i]);if(a[n]==15) {printf("wuwuwu");return 0;}else if(a[n]==0) {printf("wuwu");return 0;}else if(n==1) {printf("wuwuwuwu");return 0;}   else if(a[n]-a[n-1]>0) {printf("wuwu");return 0;}else if(a[n]-a[n-1]<0) {printf("wuwuwu");return 0;}return 0;
}

(小提示:我在这里用的是if  else,那么程序在执行代码时会存在一个优先判断,即先执行前面的,再去执行后面的判断。再做某些题目时,需要考虑到这一点,要不然有时候可能会遇到问题)

1706,神奇的数字

思路解析:其实这个也是一个签到题,这个最小的神奇数字就是0

错在我,可能描述不清楚,引起了歧义,下次不会再出现了

参考代码:


#include<stdio.h>
int main()
{printf("0\n");return 0;
}

关于这个还有一个进阶版,之前看数论的时候偶然看到的知识,先给大家放这,下次我再给大家讲一讲。

 1707,调查手下是否忠诚

思路解析:题意不难,把输入的n个数,将重复的删除,并将不同的元素从小到大排个序,输出不同元素个数和排序好之后的数列

下面请看gmf学长的参考代码:


#include<iostream>
#include<algorithm>
using namespace std;
int b[100002];
int a[100002];
int main(){int n,x;cin>>n;int sum=0;int k=0;for(int i=0;i<n;i++){cin>>x;/*利用b[1000002]来判断是否是重复的数*/ if(b[x])continue;//如果已经录入过了,就不会在执行后面的代码 b[x]=1;//如果没有录入过,就会标记,下一次将不会载录入 a[k]=x;k++;sum++;}cout<<sum<<endl;sort(a,a+sum);//对录入的数进行排序 for(int i=0;i<sum;i++)cout<<a[i]<<" "; cout<<endl;return 0;
}

1708,小郭的画画作业

思路解析:打印空心菱形讲了这么多次,不再说了

这种东西说过很多次了,自己切切实实的敲出来一次,以后就会了,听别人讲再多次也不如自己自己写一次,这个写法不唯一,每个人写出来的都不相同。

参考代码:不唯一

#include<iostream>
using namespace std;
int main(){int n;cin>>n;for(int i=0;i<n;i++){for(int j=0;j<(n-1-i);j++){cout<<" ";}for(int j=0;j<2*i+1;j++){if(j==0||j==2*i)cout<<"*";elsecout<<" "; }cout<<endl;}for(int i=0;i<n-1;i++){for(int j=0;j<i+1;j++){cout<<" ";}for(int j=0;j<2*(n-1)-(1+2*i);j++){if(j==0||j==2*(n-i-2))cout<<"*";else cout<<" ";}cout<<endl;}return 0;
}

1709,鸡兔同笼

思路解析:小学数学,设俩未知数,列一个二元一次方程组,即可解出答案

参考代码:

#include<iostream>
#include<algorithm>
#include<math.h>
using namespace std;
int main()
{int n,m,a,b;cin>>n>>m;b=(m-2*n)/2;a=n-b;cout<<a<<" "<<b<<endl;return 0;
}

以上就是关于此次的题解,以上代码仅供参考,答案不唯一,切勿照搬照抄!!!

2022JK工作室第一次招新赛题解相关推荐

  1. NYIST(计科ACMTC)第三次招新赛题解

    A题 原文, 原比赛B题 牛客练习赛104[出题人题解] - 知乎 直接输出 输入的数 就可以了 B题 C题 找到分别处理"无留陀的化身"坐标轴的x轴和y轴, 组合成无留陀的坐标, ...

  2. UUCTF招新赛Misc-writeup from 王八七七总结

    UUCTF(union university CTF)是由发起的联合性质新生招新赛,旨在联合更多拥有CTFer的院校共同举办联合招新等赛事,解决单独学校方向缺失以及举办招新赛减少精力等问题,联合共赢, ...

  3. 2021 CNSS招新赛 WEB WP

    前言 CNSS的一个招新赛,挺有意思的,让我感受到了校与校的差距T_T Web Signin 一开始提示Please Change Your Method!,抓包修改为POST方法即可得到源码 < ...

  4. 2022 弱口令安全实验室招新赛-靶机挑战记录

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.ubuntu 代码执行getshell 获取webshell 二.server 2008r2 EW 流量代理 ms ...

  5. [青少年CTF]弱口令实验室招新赛部分WriteUp

    Web 0x01 开胃菜 <?php highlight_file(__FILE__); if(strlen($_GET[1]&&$_GET[1]<=5)){echo st ...

  6. ACM—TC 联合招新赛 Round2

    ACM-TC 联合招新赛 Round2 A 贪心 问最少需要多少张纸币可以支付 n元 很容易可以想到 先给100元 100元用完给50 从大到小支付即可. #include <cstdio> ...

  7. 20年9月wust招新赛writeup

    20年9月wust招新赛writeup Crypto 黑铁2 黑铁1 青铜3 青铜5 白银5 黄金3 黄金2 Misc 黑铁3 白银3 铂金3 黄金1 铂金2 Web 青铜2 青铜1 白银3 白银2 ...

  8. 武汉理工智能车工作室2022招新视频

    一.灵魂之问   在 B 站上视频 [智能车]武汉理工智能车工作室2022招新 中武汉理工大学智能车工作室给出了今日探馆智能车招新视频.视频在清新节奏背景音乐下,极具南方口音的男生首先解答了触及灵魂的 ...

  9. SLsec招新赛wp

    文章目录 一.前言 二.题目 2.1 MISC类 2.1.1 简单的隐写 2.1.2 海贼王里的宝藏 2.1.3 找你妹啊! 2.1.4 大佬的奇妙冒险 2.1.5 简单地压缩包 2.2 CRYPTO ...

最新文章

  1. sqlserver可将字符转成数字再进行sum,如果varchar类型中存放的都是数字
  2. tidb mysql登录_TiDB 忘记密码如何登陆
  3. js判断是否包含指定字符串
  4. ASP.NET Core的Kestrel服务器
  5. C语言hw,[c语言]EmailAddresses(for hw)
  6. Jenkins 设置镜像_我常用的SpringBoot+Jenkins自动化部署技巧,贼好用,推荐给大家...
  7. Scala代码案例:求ax2+bx+c=0方程的根
  8. mysql通过日志恢复数据_mysql通过binlog日志来恢复数据
  9. dump的文件 查看pg_【PG备份恢复】pg_dump命令测试
  10. 如何在苹果Mac上快速将表情符号添加到电子邮件?
  11. JS DOM节点的增删改查
  12. Topcoder SRM 656 (Div.1) 250 RandomPancakeStack - 概率+记忆化搜索
  13. PIL 图片压缩处理
  14. 大一计算机基础重点知识,2015-大一计算机基础知识点归纳.doc
  15. 一文搞懂PID控制算法
  16. vmware 中安装chrome os操作系统
  17. 元胞自动机模型之格子气自动机模拟气体扩散模型
  18. 三次握手,为什么不是两次,也不是四次
  19. 易语言excel内容查找助手
  20. java中long类型数据的运算_在Java中,byte类型数据占【】个字节,short类型数据占【】个字节,int类型数据占【】个字节,long类型数据占【】个字节。...

热门文章

  1. 在Spring Boot中配置Thymeleaf的模板路径
  2. popwindow的使用总结
  3. 基于Python的多平台音乐下载器(附源码软件)
  4. Gnome桌面的下拉式终端: Guake
  5. 基于Python的学生考勤签到管理系统
  6. SQL连接查询和笛卡尔积
  7. chapter02土拨鼠的基本套路-变量
  8. Delphi基础教程图文版之单元文件
  9. DM8数据守护集群搭建
  10. R语言 偏最小二乘回归PLS代码