NYIST 2022年9月10日新生题解

本文介绍了从初识编程的Hello World到参与ACM竞赛的逐步学习过程,包括基本的输入输出操作、简单的数学运算、图形绘制、逻辑推理和博弈策略。同时,文中分享了编程学习中遇到的常见问题和解决思路,提醒初学者不要因初期困难而气馁,鼓励持续努力。
摘要由CSDN通过智能技术生成

不说废话,直接看就完事了


迈向计算机大门的第一步

题目大意:
打印一个hello world!
ac代码如下

#include<stdio.h> 
int main()
{
	printf("hello world!");
	return 0;
}

这种题有一个小细节就是最好不要自己输入,直接复制粘贴会减少很多不必要的错误

迈向计算机大门的第二步

题目大意:
给你两个数a,b 输出a*b的值
ac代码如下

#include<stdio.h> 
int main()
{
	int a,b;
	scanf("%d%d",&a,&b);
	int ans=a*b;
	printf("%d",ans);
	return 0;
}

这一题比较基础,但是还是有一些小细节比如&符号,和%d等等,wa了也不要担心,正常现象

踏入计算机大门的第三步

题目大意:
打印一个菱形
ac代码如下

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

这一题主要考察大家的细心,和复制粘贴的熟练度,注意好空格就没什么问题,当然如果有同学学了c++,也用更简单的解决方法,就是把要输出的图形直接粘到cout<<R"()";中的括号里,但是如果编译器版本过低的话就不可以比如Devc++ 5.11就不可以,还比如机房的电脑就不行

代码如下

#include<iostream>
using namespace std;
int main()
{
    cout<<R"(   *
  ***
 *****
*******
 *****
  ***
   *)";
    return 0;
}

踏入计算机大门的第四步

题目大意:
一个蜗牛爬10米的井,白天爬三米,晚上滑下来二米,问需要几天蜗牛可以爬出井?
ac代码如下

#include<stdio.h>
int main()
{
	printf("8");
}

这是本次比赛中两道错题其中之一,在比赛中已经将题面改过,让不少同学wa了几发,在这里说句抱歉。
说回到本题,是出题人见过的一道小学三年级奥数题,就是脑筋急转弯,在第八天的时候,蜗牛直接就爬上去了,所以答案是8,


迈向漂亮 温柔 美丽 大方 善良 贤惠 学姐的心里,当然还有更棒的学长!!

题目大意:
从第n天开始存,每天只能存1元,从0开始存(同一月,到了15还差多少钱可以到16元。
ac代码如下

#include <stdio.h>
int main()
{
    int n;
   	scanf("%d",&n);
    printf("%d",n);
	return 0;
}

本题难点有两个,第一是题目有用信息很少,要像做阅读理解一样读题,第二是没有测试样例所以难倒了不少同学,但了解了本题题意之后还是比较简单的,比如15开始存的话,就只能存1元,就还差15元,以此类推。

关于队里最菜的被拉出去出题这件事。

题目大意:
鸡兔同笼问题,有374个头,1010个脚,求出有多少只兔子和鸡
ac代码如下

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

这一题相信大家都会,没写出来的原因可能是因为没有纸和笔不好算,
这一题也是题目的描述有问题,应该是先输出兔子再输出鸡,造成了很多同学都wa了,再次说声抱歉,
ps:笔者在写题解的时候,还没有改过来

踏入计算机大门的第N步 (本题为防ak题)

题目大意
ACMER和IKUN玩一个游戏,拿出n个石子摆成一圈,分别从其中取石子,谁先取完者胜,每次可以从中取一个或者相邻两个,ACMER先取,输出胜利着的名字。
ac代码如下

#include<stdio.h>
int main()
{	
	int a;
	scanf("%d",&a);
	for(int i=1;i<=a;i++)
	{
		int x;
		scanf("%d",&x);
		if(x==1 || x==2)
		{
			printf("ACMER\n");
		}else
		{
			printf("IKUN\n");
		}
	}
}

本题别人不知道,反正我在你们这个时候肯定不会写,所以有人能写出来真的是出乎我的意料,所以22届真的有高手
思路如下

首先当石子数为1和2时,ACMER肯定获胜,

当石子为3时无论ACMER取一个还是取两个,IKUN都能将剩下的全部取走,因此IKUN胜

当石子数为4时,若ACMER取两个,IKUN取剩下两个就行,若ACMER取一个,IKUN只需要取其对应的哪一个就行(如下图,若hrdv取一号石子,IKUN只需要取三号石子就能将剩下的石子分成两个石子数一样且不连通的石子堆)这样IKUN必胜

同样的,如果石子数为5,无论hrdv第一步取一个还是两个石子,IKUN都可以在对应位置取不同的石子让其剩下的石子分成两个相同数量但不连通的石子堆(如下图,若hrdv取一号石子,则IKUN取3和4号石子,若hrdv取1和2号石子,则IKUN取4号石子)

同理6个石子,7个石子,8个石子,,,,,往上都可以在hrdv取过之后,IKUN通过去对应位置的石子让剩下的石子分为两个数量相同但互不连通的石子堆,这样无论接下来hrdv如何选石子,IKUN只需要在另一堆石子的对应位置选择相同数量的石子,到最后IKUN就能获胜

时间原因,本题思路复制了CSDN博主「「已注销」」的文章,原文戳我

一些闲聊

本次比赛对于初学者难度还是有的,如果没写出来题目,大可不必担心,这在正常不过了,我去年打招新赛,前几场都是30多名,最后还是进来了,所以因为这而感到心里不高兴,真的没有必要,继续努力就行了。 \( ̄︶ ̄*\))

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xuewuguai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值