当前位置:网站首页>练习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;
}
}边栏推荐
- 干货|如何在海量文件系统中选择合适自己的文件系统
- 单机部署flink,创建oracle19c rac的连接表时报错 ORA-12505 ,怎么回事?
- 百战RHCE(第四十七战:运维工程师必会技-Ansible学习2-Ansible安装配置练习环境)
- State Management in Jetpack Compose
- 1对1视频源码——快速实现短视频功能提升竞争力
- typeinfo类型支持库学习
- HCIA动态主机配置协议实验(dhcp)
- The 17th day of the special assault version of the sword offer
- 天地图给多边形加标注
- 智能网络安全网卡|这是不是你要的安全感
猜你喜欢
随机推荐
SVN下载上传文件
适配器模式适配出栈和队列及优先级队列
ABAP 和json转换的方法
Daily practice of dynamic programming (3)
js防抖函数和函数节流的应用场景
破解wifi密码 暴力破解 保姆式教学
Daily practice of dynamic programming (2)
The god-level Alibaba "high concurrency" tutorial "basic + actual combat + source code + interview + architecture"
图形化矩阵,矩阵到底长什么样?
system_error错误处理库学习
typeinfo类型支持库学习
李航《统计学习方法》笔记之感知机perceptron
ORBSLAM代码阅读
Golang ORM框架 — GORM
[Must read] Mylander valuation analysis, electrical stimulation products for pelvic and postpartum rehabilitation
日元疲软令游戏机在日本变身“理财产品”:黄牛大赚
leetcode 62. Unique Paths(独特的路径)
要长续航还是更安全?海豹与深蓝SL03对比导购
用了TCP协议,就一定不会丢包嘛?
【Redis】Jedis








