文件名称:
NOIP2018提高组C++试题.pdf
开发工具:
文件大小: 806kb
下载次数: 0
上传时间: 2019-09-03
详细说明:
从高考到大学,编程越来越重要。就在刚刚过去不久的2018年高考里,全国各地的试卷都在不约而同地开始考察学生们的编程思维。不仅是数学,语文作文题也穿插了大数据的编程思维。二、不定项选择题(共题,每题分,共计分;每题有一个或多个正确选
项,多选或少选均不得分)
初赛中,选手可以带入考场的有()。
橡皮
手机(关机)
草稿纸
树是一种特殊的树,它满足两个条件
()每个内部结点有两个或三个子结点;
()所有的叶结点到根的路径长度相同。
如果一棵树有个叶结点,那么它可能有()个非叶结点。
下列关于最短路算法的说法正确的有()。
当图中不存在负权回路但是存在负权边时,
算法不一定能求出源
点到所有点的最短路。
当图中不存在负权边时,调用多次
算法能求出每对顶点间最短路
径
图中存在负权回路时,调用一次
算法也一定能求出源点到所有点
的最短路
当图中不存在负权边时,调用一次
算法不能用于每对顶点间最短
路计算。
下列说法中,是树的性质的有()。
无环
任意两个结点之间有且只有一条简单路径
有且只有一个简单环
边的数目恰是顶点数目减
下列关于图灵奖的说法中,正确的有()。
图灵奖是由电气和电子工程师协公
)设立的。
目前获得该奖项的华人学者只有姚期智教授一人。
其名称取白计算机科学的先驱、英国科学家艾伦·麦席森·图灵。
初赛提高组语言试题
第,共页
它是计算机界最负盛名、最崇高的一个奖项,有“计算机界的诺贝尔奖”
之称。
问题求解(共题,每题分,共计分)
甲乙丙丁四人在考虑周末要不要外出郊游。
已知①如果周木下雨,并且乙不去,则甲一定不去;②如果乙去,则丁一定
去;③如果丙去,则丁一定不去;④如果丁不去,而且甲不去,则丙内一定不
去。如果周末丙去了,则甲
(去了/没去)(1分),乙
(去
了/没去)(1分),丁
(去了/没去)(1分),周末
(下雨/
没下雨)(2分)。
2.方程a*b=(aorb)*( a and b),在a,b都取[0,31]中的整数时,
共有组解。(米表示乘法;or表示按位或运算;and表示按位与运算)
四、阅读程序写结果(共题,每题分,共计分)
#include
int main i
int x
scanf("‰d",&x)
at res =0.
for (int 1 =0; i
int n, d[100]i
bool v[100]
int minot
scan
f("‰d",&n);
for (int i=0; i
using namespace std;
string s,
longlong magic(int l, int r)
long long ans = 0;
for (int i =l; i<=r;++i)i
ans=ans*4+S[主
return ans
int maino)i
Cln>>s
int len =slength oi
int ans =0
for(int11=0;11<1en;++11){
for (int r1 =ll; r1< len; ++r1)t
bool bo
true j
for(int12=6;12<1en;++12){
for (int r2= 12, r2 len; ++r2)t
if( maglc(11,「1)== maglc(12,2)&&(11!=
12||r1!=r2){
bo false;
if(bo)i
初赛提高组语言试题
第,共页
ans +=1
cout
using namespace std;
const int N= 110;
booⅠ isUse[N];
int n t
int aln, b[ni:
bool issmall(i
for (int i =1; i <=n; ++i)
if (alil! blii return alil< blil:
return false;
bool getPermutation (int pos)i
if (pos >n)i
return isSmall(
for (int i 1;i<=n; ++i)f
if (lisse[il)i
b[pos]=i; isuseli] true;
if (getpermutation(pos+ 1))[
return true
isUse[]= false;
return false
void getNext f
for (int i =1; i<=n; ++1)t
isUselil=false
getPermutation (1);
for (int i =1; i <=n; ++i)i
初赛提高组语言试题
第,共页
[i]=b[i]
int maino[
scanf("%d%d",&n, &t);
for (int i =1; 1 <=n; ++i)t
scanf("‰d",&a[i]);
for (int i = 1; i<= t; ++i)i
getText)
for (int i =1; i<=n; ++i)i
printf( %d", a[i]);
if (i==n) putchar ('\n); else putchar(')
return 0:
输入1:618164532
输出1
(3分)
输入2:6288153426
输出2:
(5分)
五、完善程序(共题,每题分,共计分)
对于一个1到n的排列P(即1到n中每一个数在P中出现了恰好一次),令q为
第i个位置之后第一个比P值更大的位置,如果不存在这样的位置,则q=n2+
1。举例来说,如果n=5且P为15423,则q为26656。
下列程序读入了排列P,使用双向链表求解了答案。试补全程序。(第二空
分,其余分)
数据范围1≤n≤105
#include
using namespace std;
const int N= 100010;
nt n.
int LINI Rini, a[;
int main()i
Cin >>n.
for (int i = 1; i<=n; ++i)i
int
初赛提高组语言试题
第,共页
CIn>〉X
for (int i =1; i <=n; ++i)t
R[i]=(2)_
L[i]=立-1;
for (int i =1;i <=n;++i)t
L[(3)]=L[a[i];
R[L[a[i]]]=R[
for (int i =1; i<=n; ++i)i
cout <
<<
cout endl
return 0;
只小猪要买件物品(不超过)
它要买的所有物品在两家商店甲都有卖。第件物品在第一家尚店的价格是
,在第二家商店的价格是,两个价格都不小于且不超过
果在第家商店买的物品的总额不少于
,那么在第·家店买的物品都
可以打折价格变为原来的倍
求小猪买齐所有物品所需最少的总额。
输入:第一行一个数。接下来行,每行两个数。第行的两个数分别代
表
输出:输出一行一个数,表示最少需要的总额,保留两位小数。
试补全程序。(第一空分,其余分)
#include cstdio>
#include
using namespace std;
const int inf 1000000000
const int threshold =50000
const int maxn =1000
int n, a[maxn], b[maxn]
bool put al maxn
int total a. total b:
初赛提高组语言试题
第,共页
double ans
int f[threshold]
int maino i
scanf("%d",&n)
total a s total b= 0
for (int i =0; i< n;++1)f
scanf("%d%d",a+i,b+1);
if (a[il<= bli] total a +=a[i];
else total b + bli]:
ans total a total b;
total a= total b= 0
for(inti=θ;i
++主){
if((1)){
put alil= true;
total a
j else i
put a[i]= false;
total b+= b[i]:
if((2)){
printf( %.2f", total_a*0.95 total b);
return 0
f[]=
for (int i =1; i< threshold ++i)
f[i]= Inf
int total b prefix =0;
for (int i=0;i< n; ++1)
if (lput alil)f
total b prefix + b[il
for (int j= threshold- 1;j>=0;--j)i
if((3
>=threshold & f[l!= Inf)
ans = min(ans,(total a+j+a[])*0.95
(4))
f[j]= min(f[j]+bil,j>=a[i]?(5): Inf)
printf( %.2f", ans);
return 0
初赛提高组语言试题
第,共页
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.