Life, the Universe, and Everything(spoj)

原题:Your program is to use the brute-force approach in order to find the Answer to Life, the Universe, and Everything. More precisely... rewrite small numbers from input to output. Stop processing input after reading in the number 42. All numbers at input are integers of one or two digits.

Example

Input:
1
2
88
42
99

Output:
1
2
88题目意思很简单,就是重复输入一下小的数字(int足够了),一旦接收到42数字就停止接收,这里题目的example有误导,容易让人理解为全部输入(然后ctrl+Z结束输入),然后输出第一次遇见42时,在42之前的所有数字,我为什么知道,因为我这样提交过一次   这题的主要难点在于,你不知道在遇到42之前,输入多少个数字,题目里没有给任何限制条件,很明显数组,栈之类的需要分配内存空间大小的不行了,最后通过c++中的vector解决问题的。vector是一个类模板,vector保存何种对象类型,通过将类型放在类模板名称后面的尖括号中指定类型 vector<int>iver; vector<char> vec;  本题使用vector的唯一原因在于,vector对象可以在运行的时候动态添加元素,不需要直接分配内存,避免不必要的浪费。  简单介绍几个常用的vector对象操作:  1.push_back   在数组的最后添加一个数据  2.pop_back    去掉数组的最后一个数据   3.at                得到编号位置的数据  4.begin           得到数组头的指针  5.end             得到数组的最后一个单元+1的指针 除了通过下标访问vector对象元素外,还可以通过迭代器访问。迭代器是一种检查容器内元素并且遍历元素的数据类型。 每个迭代器都定义了自己的类型,  如vector<int>::iterator it;其他的就不细说了,上代码:
 1 #include<iostream>
 2 #include<stdio.h>
 3 #include<vector>
 4 using namespace std;
 5 int main()
 6 {
 7     int number;
 8     vector<int> vec;
 9     while(cin>>number)
10     {
11         if(number!=42)
12             vec.push_back(number);
13         else
14             break;
15     }
16     vector<int>::iterator it;
17     for(it=vec.begin();    it!=vec.end();    it++)
18         cout<< *it <<endl;
19
20     return 0;
21 } 

运行结果:

  

  
时间: 2024-12-05 11:00:55

Life, the Universe, and Everything(spoj)的相关文章

Prime Generator(spoj)

原题: Prime Generator Problem code: PRIME1 Peter wants to generate some prime numbers for his cryptosystem. Help him! Your task is to generate all prime numbers between two given numbers! Input The input begins with the number t of test cases in a sing

SPOJ AMR10A Playground(计算几何)

Playground Time limit: 2s Source limit: 50000B Memory limit: 256MB My kid's school cleared a large field on their property recently to convert it into a playing area.  The field is polygonal.  The school administration decided to separate the field i

SPOJ AMR 10I Dividing Stones(搜索)

Dividing Stones Time limit: 7s Source limit: 50000B Memory limit: 256MB There are N stones, which can be divided into some piles arbitrarily. Let the value of each division be equal to the product of the number of stones in all the piles modulo P. Ho

【SPOJ】QTREE6(Link-Cut-Tree)

[SPOJ]QTREE6(Link-Cut-Tree) 题面 Vjudge 题解 很神奇的一道题目 我们发现点有黑白两种,又是动态加边/删边 不难想到\(LCT\) 最爆力的做法,显然是每次修改单点颜色的时候 暴力修改当前点和它的父亲以及儿子之间的连边状态 但是这样显然是假的(菊花树了解一下) 怎么优化呢? 对于每次操作,我们考虑如何只修改一次. 对于树上的一个结点,如果只修改一次,显然是修改和其父亲的状态. 那么,我们在考虑\(LCT\)的连边操作的时候, 如果当前点变色,那么就只修改和它父亲

OPENSTACK学习笔记(1)

从CloudMan那里学的,自己做的笔记,就成为自己的了. 呵呵! 虚拟化基础知识 虚拟化是云计算的基础.简单的说,虚拟化使得在一台物理的服务器上可以跑多台虚拟机,虚拟机共享物理机的 CPU.内存.IO 硬件资源,但逻辑上虚拟机之间是相互隔离的. 物理机我们一般称为宿主机(Host),宿主机上面的虚拟机称为客户机(Guest). 那么 Host 是如何将自己的硬件资源虚拟化,并提供给 Guest 使用的呢?这个主要是通过一个叫做 Hypervisor 的程序实现的. 根据 Hypervisor

理解Docker(7):Docker 存储 - AUFS

(1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 (4)Docker 容器的隔离性 - 使用 cgroups 限制容器使用的资源 (5)Docker 网络 (6)若干企业生产环境中的容器网络方案 (7)Docker 存储 - AUFS Docker 存储可以分为分层文件系统和卷,本文将介绍 AUFS 分层文件系统. 1. 基础知识 1.1 Linux 的 rootfs 和 bootfs 一

Docker学习笔记(3)-- 如何使用Dockerfile构建镜像

Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令.Docker程序将这些Dockerfile指令翻译真正的Linux命令.Dockerfile有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系,类似于Makefile.Docker程序将读取Dockerfile,根据指令生成定制的image.相比image这种黑盒子,Dockerfile这种显而易见的脚本更容易被使用者接受,它明确的表明image是

嵌入式linux开发环境搭建(五)——Ubuntu第三方软件仓库源

嵌入式linux开发环境搭建(五)--Ubuntu第三方软件仓库源 一般来说ubuntu官方的软件仓库由于服务器在国外,下载更新速度较慢,需要将软件仓库更换为国内镜像点. 1.修改源配置文件 先备份原来的配置文件 mv /etc/apt/sources.list /etc/apt/sources.list.bak vim /etc/apt/sources.list 将国内的Ubuntu镜像点添加到配置文件 Ubuntu 163镜像点: deb http://mirrors.163.com/ubu

后缀自动机(SAM)学习指南

*在学习后缀自动机之前需要熟练掌握WA自动机.RE自动机与TLE自动机* 什么是后缀自动机 后缀自动机 Suffix Automaton (SAM) 是一个用 O(n) 的复杂度构造,能够接受一个字符串所有后缀的自动机. 它最早在陈立杰的 2012 年 noi 冬令营讲稿中提到. 在2013年的一场多校联合训练中,陈立杰出的 hdu 4622 可以用 SAM 轻松水过,由此 SAM 流行了起来. 一般来说,能用后缀自动机解决的问题都可以用后缀数组解决.但是后缀自动机也拥有自己的优点. 1812.