IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 洛谷刷题C语言:超级玛丽游戏、A+B Problem、级数求和、陶陶摘苹果、校门外的树 -> 正文阅读

[C++知识库]洛谷刷题C语言:超级玛丽游戏、A+B Problem、级数求和、陶陶摘苹果、校门外的树

记录洛谷刷题过程QAQ


一、超级玛丽游戏

洛谷原址

题目描述

超级玛丽是一个非常经典的游戏。请你用字符画的形式输出超级玛丽中的一个场景。

                ********
               ************
               ####....#.
             #..###.....##....
             ###.......######              ###            ###
                ...........               #...#          #...#
               ##*#######                 #.#.#          #.#.#
            ####*******######             #.#.#          #.#.#
           ...#***.****.*###....          #...#          #...#
           ....**********##.....           ###            ###
           ....****    *****....
             ####        ####
           ######        ######
##############################################################
#...#......#.##...#......#.##...#......#.##------------------#
###########################################------------------#
#..#....#....##..#....#....##..#....#....#####################
##########################################    #----------#
#.....#......##.....#......##.....#......#    #----------#
##########################################    #----------#
#.#..#....#..##.#..#....#..##.#..#....#..#    #----------#
##########################################    ############

输入格式

输出格式

如描述

代码如下

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
	printf("                ********\n");
	printf("               ************\n");
	printf("               ####....#.\n");
	printf("             #..###.....##....\n");
	printf("             ###.......######              ###            ###\n");
	printf("                ...........               #...#          #...#\n");
	printf("               ##*#######                 #.#.#          #.#.#\n");
	printf("            ####*******######             #.#.#          #.#.#\n");
	printf("           ...#***.****.*###....          #...#          #...#\n");
	printf("           ....**********##.....           ###            ###\n");
	printf("           ....****    *****....\n");
	printf("             ####        ####\n");
	printf("           ######        ######\n");
	printf("##############################################################\n");
	printf("#...#......#.##...#......#.##...#......#.##------------------#\n");
	printf("###########################################------------------#\n");
	printf("#..#....#....##..#....#....##..#....#....#####################\n");
	printf("##########################################    #----------#\n");
	printf("#.....#......##.....#......##.....#......#    #----------#\n");
	printf("##########################################    #----------#\n");
	printf("#.#..#....#..##.#..#....#..##.#..#....#..#    #----------#\n");
	printf("##########################################    ############\n");
		return 0;
	}

二、A+B Problem

洛谷原址

题目描述

输入两个整数 a , b a, b a,b,输出它们的和( ∣ a ∣ , ∣ b ∣ ≤ 10 9 |a|,|b| \le {10}^9 a,b109)。

注意

  1. Pascal 使用 integer 会爆掉哦!
  2. 有负数哦!
  3. C/C++ 的 main 函数必须是 int 类型,而且 C 最后要 return 0。这不仅对洛谷其他题目有效,而且也是 NOIP/CSP/NOI 比赛的要求!

好吧,同志们,我们就从这一题开始,向着大牛的路进发。

任何一个伟大的思想,都有一个微不足道的开始。

输入格式

两个以空格分开的整数。

输出格式

一个整数。

样例 #1

样例输入 #1

20 30

样例输出 #1

50

代码如下

#include <stdio.h>
int main(){
    double Sn=0;
    int k;
    scanf("%d",&k);
    int i=1;
    while (1)
    {
        Sn = Sn+1.0/i;
        if(Sn>k)
        {
            printf("%d",i);
            break;
        }
        i++;
    }
    
    return 0;
}

三、[NOIP2002 普及组] 级数求和

题目描述

已知: S n = 1 + 1 2 + 1 3 + … + 1 n S_n= 1+\frac{1}{2}+\frac{1}{3}+…+\frac{1}{n} Sn?=1+21?+31?++n1?。显然对于任意一个整数 k k k,当 n n n 足够大的时候, S n > k S_n>k Sn?>k

现给出一个整数 k k k,要求计算出一个最小的 n n n,使得 S n > k S_n>k Sn?>k

输入格式

一个正整数 k k k

输出格式

一个正整数 n n n

样例 #1

样例输入 #1

1

样例输出 #1

2

提示

【数据范围】

对于 100 % 100\% 100% 的数据, 1 ≤ k ≤ 15 1\le k \le 15 1k15

【题目来源】

NOIP 2002 普及组第一题

代码如下

#include <stdio.h>
int main(){
    double Sn=0;
    int k;
    scanf("%d",&k);
    int i=1;
    while (1)
    {
        Sn = Sn+1.0/i;
        if(Sn>k)
        {
            printf("%d",i);
            break;
        }
        i++;
    }
    
    return 0;
}

四、陶陶摘苹果

洛谷原址

题目描述

陶陶家的院子里有一棵苹果树,每到秋天树上就会结出 10 10 10 个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个 30 30 30 厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。

现在已知 10 10 10 个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。

输入格式

输入包括两行数据。第一行包含 10 10 10 100 100 100 200 200 200 之间(包括 100 100 100 200 200 200 )的整数(以厘米为单位)分别表示 10 10 10 个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第二行只包括一个 100 100 100 120 120 120 之间(包含 100 100 100 120 120 120 )的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。

输出格式

输出包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。

样例 #1

样例输入 #1

100 200 150 140 129 134 167 198 200 111
110

样例输出 #1

5

提示

【题目来源】

NOIP 2005 普及组第一题

代码如下

#include<stdio.h>

int main(){
	const int CHAIR = 30;  //常量定义,凳子高度
	int h[10], high, flag=0;  //flag记录可以摘到的苹果个数
	for(int i=0; i<10; i++){
		scanf("%d", &h[i]);
	}
	scanf("%d", &high);
	
	for(int i=0; i<10; i++){
		if( h[i] <= high+CHAIR ){
			flag +=1;
		}
	}
	printf("%d", flag);
	return 0;
}

五、校门外的树

洛谷原址

题目描述

某校大门外长度为 l l l 的马路上有一排树,每两棵相邻的树之间的间隔都是 1 1 1 米。我们可以把马路看成一个数轴,马路的一端在数轴 0 0 0 的位置,另一端在 l l l 的位置;数轴上的每个整数点,即 0 , 1 , 2 , … , l 0,1,2,\dots,l 0,1,2,,l,都种有一棵树。

由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。

输入格式

第一行有两个整数,分别表示马路的长度 l l l 和区域的数目 m m m

接下来 m m m 行,每行两个整数 u , v u, v u,v,表示一个区域的起始点和终止点的坐标。

输出格式

输出一行一个整数,表示将这些树都移走后,马路上剩余的树木数量。

样例 #1

样例输入 #1

500 3
150 300
100 200
470 471

样例输出 #1

298

提示

【数据范围】

  • 对于 20 % 20\% 20% 的数据,保证区域之间没有重合的部分。
  • 对于 100 % 100\% 100% 的数据,保证 1 ≤ l ≤ 1 0 4 1 \leq l \leq 10^4 1l104 1 ≤ m ≤ 100 1 \leq m \leq 100 1m100 0 ≤ u ≤ v ≤ l 0 \leq u \leq v \leq l 0uvl

【题目来源】

NOIP 2005 普及组第二题

代码如下

#include<stdio.h>
int main()
{
    int l,m;
    scanf("%d%d",&l,&m);
    int tree[l+1],i,j;
    for(i=0;i<=l;i++)
    {
        tree[i]=1;
    }
    int x1,x2;
    for(i=0;i<m;i++)
    {
        scanf("%d%d",&x1,&x2);
        for(j=x1;j<=x2;j++)
        {
            if(tree[j]==1) tree[j]=0;
        }
    }
    int temp=0;
    for(i=0;i<=l;i++)
    {
        if(tree[i]!=0) temp++; 
    }
    printf("%d\n",temp);
    return 0;
 } 

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-07-20 18:34:21  更:2022-07-20 18:36:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/13 14:39:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码