通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"NOIP真题" 试卷中 NOIP第十九届全国青少年信息学奥林匹克联赛初赛试题[2013提高组] 中有题目如下:
第1题
(两元序列)试求一个整数序列中,最长的仅包含两个不同整数的连续子序列。如有多个子 序列并列最长,输出任意一个即可。例如,序列“ 1 1 2 3 2 3 2 3 3 1 1 1 3 1 ”中,有 两段满足条件的最长子序列,长度均为 7,分别用下划线和加粗斜体标出。
#include <iostream> using namespace std; int main(){ const int SIZE = 100; int n, i, j, a[SIZE], cur1, cur2, count1, count2, ans_length, ans_start, ans_end; //cur1, cur2 分别表示当前子序列中的两个不同整数 //count1, count2 分别表示 cur1, cur2 在当前子序列中出现的次数 cin>>n; for (i = 1;i <= n;i++) cin>>a[i]; i = 1; j = 1; //i, j 分别表示当前子序列的首尾,并保证其中至多有两个不同整数 while ((j <= n) && (a[j] == a[i])) j++; cur1 = a[i]; cur2 = a[j]; count1 =①; count2 = 1; ans_length = j - i + 1; while (j < n) { j++; if (a[j] == cur1) count1++; else if (a[j] == cur2) count2++; else { if (a[j - 1] ==② ) { while (count2 > 0) { if (a[i] == cur1) count1--; else count2--; i++; } cur2 = a[j]; count2 = 1; }else { while (count1 > 0) { if (a[i] == cur1) ③ ; else ④ ; i++; } ⑤ ; count1 = 1; } } if (ans_length < j - i + 1) { ans_length = j - i + 1; ans_start = i; ans_end = j; } } for (i = ans_start;i <= ans_end;i++) cout<<a[i]<<' '; return 0; }
所属试卷:NOIP第十九届全国青少年信息学奥林匹克联赛初赛试题[2013提高组]
以下关于函数返回值的描述中,正确的是( )。
学生的记录由学号和成绩组成,N名学生的数据已在主函数中
关系表中的每一行记录称为一个( )。
开发大型软件时,产生困难的根本原因是( )。
有以下程序程序的运行结果是( )。
有以下程序程序运行后的输出结果是( )。
有以下程序:程序的运行结果是。
下列哪项类型数据是不可变化的。
下面程序的运行结果是_________。
已知,计算f(n)的C语言函数f1如下:将f1中的in
欲安装 bind 套件, 应用下列那一指令( )
分别叙述linux对IDE硬盘和usb接口的移动硬盘的
在Linux操作系统中,设备都是通过特殊的( )来访问
下面给出了一个SHELL程序,试对其行后有#(n)形式
简述Linux文件系统通过i节点把文件的逻辑结构和物理
命令 netstat -a 停了很长时间没有响应,这可
如果两个实体之间具有M:N联系,则将它们转换为关系模型
sp_name为存储过程的名称,调用该存储过程的语句为
删除数据表用以下哪一项( )
小明在某一天中依次有七个空闲时间段,他想要选出至少一个
预处理命令行都必须以_____号开始。
do-while的循环体不能是复合语句。
执行下面程序段后,s的值是( )。
一个C源程序中至少应包括一个_____函数。
C语言中,数组元素的下标下限为_____。
设有以下共用体类型说明和变量定义,则变量a在内存所占字
若有以下定义,则计算表达式y+=y-=m*=y后的y值
与二进制小数 0 .1 相等的十六进制数是( )
输入:120输出:____
设 X、Y、Z 分别代表三进制下的一位数字,若等式 X
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2