2023江南万达校区能力测试
说明:
1、在桌面以自己名字命名(中文名)建立文件夹;
2、文件夹中存储每个题目对应的英文题目名.cpp文件;
中文题目名称 |
小L的能量检测装置 |
小L的垃圾桶 |
粗心的小L3.0 |
水果店买水果 |
英文题目名 |
power |
stack |
queue |
fruit |
可执行文件名 |
power |
stack |
queue |
fruit |
输入文件名 |
power.in |
stack.in |
queue.in |
fruit.in |
输出文件名 |
power.out |
stack.out |
queue.out |
fruit.out |
每个测试点时 限 |
1 秒 |
1 秒 |
1 秒 |
1 秒 |
测试点数目 |
10 |
10 |
10 |
10 |
每个测试点值 |
10 |
10 |
10 |
10 |
提交源程序文件名
对于 C++ 语言 |
power.cpp |
stack.cpp |
queue.cpp |
fruit.cpp |
编译选项
对于 C++ 语言 |
02 -std=c++14 |
注意事项(请仔细阅读)
1.文件名(程序名和输入输出文件名) 必须使用英文小写。
2.C/C++ 中函数 main() 的返回值类型必须是int,程序正常结束时的返回值必须是0。
3.提交的程序代码文件的放置位置请参考各省的具体要求
4.因违反以上三点而出现的错误或问题,申诉时一律不予受理。
5.若无特殊说明,结果的比较方式为全文比较(过行末空格及文末回车)。
6.选手提交的程序源文件必须不大于 100KB。
7.程序可使用的栈空间内存限制与题目的内存限制一致。
8.全国统一评测时采用的机器配置为:Inter(R) Core(TM) 7-8700K CPU @3.70GHz,
内存 32GB。上述时限以此配置为准。
9.只提供 Linux格式附加样例文件。
10.评测在当前最新公布的 NOI Lnux 下进行,各语言的编译器版本以此为准。
小L的能量检测装置
【题目描述】
小L发明了一个能量检测装置,可以检测一个区域的能量数值Pi ,用来发现一些隐藏起来的敌人,这个装置的功能是检测第i个区域的能量Pi,如果能满足Pi = (Pi-1)2+(Pi+1)2那么我们就认为i点是有敌人的。现在给你一个连续长度为n的区域,请你检测第几个区域有敌人。(2<=i<=n-1),如果没有敌人,请输出None
【输入格式】
第一行为一个正整数n(3<=n<=1000)
第二行为n个正整数,第i个数代表第i个区域的能量数值,i的数值从1开始,每个正整数之间以空格隔开,每个正整数大小都不超过1000000
【输出格式】
输出所有有敌人的区域,每个区域之间以空格隔开,如果没有敌人请输出None
输入输出样例
输入 #1
5
1 5 2 13 3
输出 #1
2 4
1 #include<bits/stdc++.h> 2 using namespace std; 3 int main() 4 { 5 freopen("power.in","r",stdin); 6 freopen("power.out","w",stdout); 7 int n; 8 cin>>n; 9 int a[1001],b[1001],k = 0; 10 for(int i=1;i<=n;i++)cin>>a[i]; 11 for(int i=2;i<=n-1;i++) 12 if(a[i]==a[i-1]*a[i-1]+a[i+1]*a[i+1])b[++k] = i; 13 if(k==0)cout<<"None"; 14 for(int i=1;i<=k;i++) 15 { 16 cout<<b[i]; 17 if(i!=k)cout<<" "; 18 } 19 return 0; 20 }
小L的垃圾桶
【题目描述】
正在做卫生的小L正在紧盯眼前的垃圾桶和在旁边乱序的n个数字,他决定用这个垃圾桶模拟一下栈的先进后出的特性,现在他将这n个数字按照输入的先后顺序依次放入栈中,但是只有满足以下条件才能成功入栈:
栈为空可入栈
入栈元素比当前栈顶元素大可入栈
输入完n个数字后,小L还会给出m个数字,这是他认为的当n个数字按条件入栈后,栈中元素的出栈顺序,请你帮他判断他认为的出栈顺序和实际的出栈顺序是否相同,是则输出Yes,否则输出No
【输入格式】
第一行为n(1<=n<=100)
第二行为n个整数,代表n个数字按输入顺序入栈,每个数字之间以空格分隔
第三行为m(1<=m<=n)
第四行为m个整数,代表出栈时小L认为的出栈顺序,每个数字之间以空格分隔【输出格式】
如果小L认为的出栈顺序符合实际出栈顺序,则输出Yes,否则输出No
输入输出样例
输入 #1
5
2 4 5 1 3
3
5 4 2
输出 #1
Yes
1 #include<bits/stdc++.h> 2 using namespace std; 3 int main() 4 { 5 freopen("stack.in","r",stdin); 6 freopen("stack.out","w",stdout); 7 stack<int>q; 8 int n,m,x,maxx = -1; 9 cin>>n; 10 for(int i=1;i<=n;i++) 11 { 12 cin>>x; 13 if(q.empty())q.push(x); //栈空,入栈 14 else if(x>q.top())q.push(x); //非空,那么比栈顶大即可入栈 15 } 16 cin>>m; 17 while(m-- && !q.empty()) //当m次循环没有结束并且栈还非空时执行循环 18 { 19 cin>>x; 20 if(x!=q.top()){ 21 cout<<"No";return 0; 22 } 23 else q.pop(); 24 } 25 if(m==-1 && q.empty())cout<<"Yes"; 26 else cout<<"No"; 27 return 0; 28 }
粗心的小L3.0
【题目描述】
经过了一年的磨练,粗心的小L决心再次接受大家的考验。现在有n名同学拿着难度为y的题目来考验小L,为了热身小L决定让这n名同学按难度的从小到大来排队,如果难度相同的情况下就按照先报名的同学优先,现在按顺序给定每位同学的编号和题目难度,请输出小L的接受考验的队列
【输入格式】
第一行为n(1<=n<=10000)
接下来有n行,每行两个整数x,y(1<=x<=n,1<=y<=1e6),表示每位同学的编号x和题目难度y
【输出格式】
输出n个整数,为n个同学的考验队列,每个数字间用空格隔开
输入输出样例
输入 #1
5
1 2
3 4
2 5
5 1
4 1
输出 #1
5 4 1 3 2
1 #include<bits/stdc++.h> 2 using namespace std; 3 struct node{ 4 int x,y,id; //x是编号,y是难度,id是输入顺序 5 friend bool operator < (node a,node b) 6 { 7 if(a.y==b.y)return a.id>b.id; //难度y相同,则id小的优先 8 return a.y>b.y; 9 } 10 }; 11 priority_queue<node> q; 12 int main() 13 { 14 freopen("queue.in","r",stdin); 15 freopen("queue.out","w",stdout); 16 int n; 17 cin>>n; 18 for(int i=1;i<=n;i++) 19 { 20 node a; 21 cin>>a.x>>a.y; 22 a.id = i; 23 q.push(a); 24 } 25 for(int i=1;i<=n;i++) 26 { 27 node a = q.top(); q.pop(); 28 cout<<a.x; 29 if(i!=n)cout<<" "; 30 } 31 return 0; 32 }
水果店买水果
【题目描述】
水果店里有n种水果,看看这n种水果里有没有你想要的水果,如果有,请输出它的名字,如果没有,就输出No
【输入格式】
输入第一行整数n(1<=n<=100),有n种水果;
接下来有n行,每一行输入一种水果的名称;
最后一行为你想买的水果名称;
(1<=len(水果名称)<=20)
【输出格式】
如果输入的水果名称里有你想买的水果,那么就把这个水果的名字输出
否则就输出No
输入输出样例
输入 #1
5
apple
banana
cherry
grape
lemon
apple
输出 #1
apple
1 #include<bits/stdc++.h> 2 using namespace std; 3 4 //friend bool operator 5 //priority_queue 6 7 struct aa{ 8 string s; 9 }a[1010]; 10 11 int main(){ 12 freopen("fruit.in","r",stdin); 13 freopen("fruit.out","w",stdout); 14 int n; 15 cin>>n; 16 for(int i=1;i<=n;i++){ 17 string z; 18 cin>>z; 19 a[i].s=z; 20 } 21 string x; 22 cin>>x; 23 for(int i=1;i<=n;i++){ 24 if(a[i].s==x){ 25 cout<<x; 26 return 0; 27 } 28 29 } 30 cout<<"No"; 31 return 0; 32 }
测试成绩:
标签:输出,900,10,int,18,C++,queue,输入,out From: https://www.cnblogs.com/jyssh/p/17229745.html