当前位置:网站首页>练习16-两道模拟题
练习16-两道模拟题
2022-08-02 09:33:00 【伊利达雷审判官】
3474. 坠落的蚂蚁
一根长度为 11 米的木棒上有若干只蚂蚁在爬动。
它们的速度为每秒一厘米或静止不动,方向只有两种,向左或者向右。
如果两只蚂蚁碰头,则它们立即交换速度并继续爬动。
三只蚂蚁碰头,则两边的蚂蚁交换速度,中间的蚂蚁仍然静止。
如果它们爬到了木棒的边缘(00 或 100100 厘米处)则会从木棒上坠落下去。
在某一时刻蚂蚁的位置各不相同且均在整数厘米处(即 1,2,3,…991,2,3,…99 厘米),有且只有一只蚂蚁 AA 速度为 00,其他蚂蚁均在向左或向右爬动。
给出该时刻木棒上的所有蚂蚁位置和初始速度,找出蚂蚁 AA 从此时刻到坠落所需要的时间。
输入格式
第一行包含一个整数表示蚂蚁的个数 NN,之后共有 NN 行,每一行描述一只蚂蚁的初始状态。
每个初始状态由两个整数组成,中间用空格隔开,第一个数字表示初始位置厘米数 PP,第二个数字表示初始方向,−1−1 表示向左,11 表示向右,00 表示静止。
输出格式
蚂蚁 AA 从开始到坠落的时间。若不会坠落,输出 Cannot fall!。
数据范围
2≤N≤992≤N≤99,
1≤P≤991≤P≤99
输入样例:
4
10 1
90 0
95 -1
98 -1
输出样例:
98
code:
//这里填你的代码^^
#include<bits/stdc++.h>
using namespace std;
const int N = 1e6;
int a[N],b[N];
struct stu
{
int aa;
int bb;
}stus[1001];
bool cmp(stu q,stu w)
{
if(q.aa<w.aa)
return true;
else
return false;
}
int main()
{
ios::sync_with_stdio(false);
int t;
cin >> t;
int cat;
for (int c = 1; c <= t; c ++ )
cin>>stus[c].aa>>stus[c].bb;
sort(stus+1,stus+t+1,cmp);
for (int c = 1; c <= t; c ++ )
{
a[c]=stus[c].aa;b[c]=stus[c].bb;
}
for (int c = 1; c <= t; c ++ )
if(b[c]==0)
cat=c;
vector<int>v1,v2;
for (int c = 1; c <= t; c ++ )
{
if(b[c]==1&&c<cat)
v1.push_back(a[c]);
if(b[c]==-1&&c>cat)
v2.push_back(a[c]);
}
/*for (int c = 1; c <= t; c ++ )
{
if(b[c]==1&&c<cat||b[c]==-1&&c>cat)
cout << a[c]<<' '<<b[c]<<endl;
}*/
if(v1.size()==v2.size())
cout << "Cannot fall!";
if(v1.size()>v2.size())
cout << 100-v1[v1.size()-v2.size()-1];
if(v1.size()<v2.size())
cout << v2[v1.size()];
}
//注意代码要放在两组三个点之间,才可以正确显示代码高亮哦~
作者:编程小猫
链接:https://www.acwing.com/activity/content/code/content/3950168/
来源:AcWing
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。3307. 破纪录者
Isyana 获得了其当地主题公园连续 NN 天的游客人数。
其中第 ii 天的游客人数为 ViVi。
如果某天能够同时满足以下两个条件,则这一天被视为破纪录的一天:
- 这一天的游客人数严格大于以前每一天的游客人数。
- 这是最后一天,或者这一天的游客人数严格大于下一天的游客人数。
请注意,第一天也可以是破纪录的一天。
请帮助 Isyana 找出破纪录的天数。
输入格式
第一行包含整数 TT,表示共有 TT 组测试数据。
每组数据第一行包含整数 NN。
第二行包含 NN 个整数,其中第 ii 个表示 ViVi。
输出格式
每组数据输出一个结果,每个结果占一行。
结果表示为 Case #x: y,其中 xx 为组别编号(从 11 开始),yy 为破纪录的天数。
数据范围
1≤T≤1001≤T≤100,
0≤Vi≤2×1050≤Vi≤2×105,
对于每个测试点,满足 1≤N≤2×1051≤N≤2×105 的数据一定不超过 1010 组,其余数据则满足 1≤N≤10001≤N≤1000。
输入样例:
4
8
1 2 0 7 2 0 2 0
6
4 8 15 16 23 42
9
3 1 4 1 5 9 2 6 5
6
9 9 9 9 9 9
输出样例:
Case #1: 2
Case #2: 1
Case #3: 3
Case #4: 0
样例解释
对于测试样例 11,第二天和第四天破了纪录。
对于测试样例 22,只有最后一天破了纪录。
对于测试样例 33,第一天、第三天和第六天破了纪录。
对于测试样例 44,没有一天破了纪录。
code:
#include<bits/stdc++.h>
using namespace std;
const int N = 1e6;
int a[N],b[N];
int main()
{
ios::sync_with_stdio(false);
int t;
cin >> t;
for (int c = 1; c <= t; c ++ )
{
int n;
cin >> n;
int cnt=0;
for (int i = 0; i < n; i ++ )
cin >> a[i];
int mx=-1;
a[n]=-1;
for (int i = 0; i < n; i ++ )
{
if(a[i]>mx)
{
mx=a[i];
if(a[i]>a[i+1])
cnt++;
}
}
cout <<"Case #"<<c<<": ";
cout <<cnt<<' ';
cout << endl;
}
}边栏推荐
猜你喜欢

干货|如何在海量文件系统中选择合适自己的文件系统

李航《统计学习方法》笔记之朴素贝叶斯法

leetcode:81. 搜索旋转排序数组 II

适配器模式适配出栈和队列及优先级队列

Jetpack Compose 中的状态管理

Tencent T8 architect, teach you to learn small and medium R&D team architecture practice PDF, senior architect shortcut

每天花2小时恶补腾讯T8纯手打688页SSM框架和Redis,成功上岸美团

Facebook自动化数据分析方案,广告投放省心省力

堪称神级的阿里巴巴“高并发”教程《基础+实战+源码+面试+架构》

Naive Bayesian Method of Li Hang's "Statistical Learning Methods" Notes
随机推荐
Use the scrapy to climb to save data to mysql to prevent repetition
每天花2小时恶补腾讯T8纯手打688页SSM框架和Redis,成功上岸美团
Implementation of mysql connection pool
刷题错题录1-隐式转换与精度丢失
自定义View实现波浪荡漾效果
In the whole development of chi V853 board tried to compile QT test
大厂外包,值得拥有吗?
自定义卡包效果实现
用了TCP协议,就一定不会丢包嘛?
软件exe图标变记事本或浏览器、360压缩打不开的几种应急解决方法
SVN下载上传文件
Jetpack Compose 中的状态管理
RPA助你玩转抖音,开启电商运营新引擎
Jenkins--基础--6.3--Pipeline--语法--脚本式
8月份的.NET Conf 活动 专注于 .NET MAUI
shell脚本
spark:页面单跳转换率统计(案例)
The perceptron perceptron of Li Hang's "Statistical Learning Methods" notes
天地图给多边形加标注
Worship, Alibaba distributed system development and core principle analysis manual