A

link



这道题就先输出整个的\(oox\),再输出剩一个两个的。

点击查看代码
#include<bits/stdc++.h>

using namespace std;

int n;

signed main(){

	cin >> n;

	int t = n/3;
for(int i = 1;i <= t;++ i)
cout << "oox"; if(n%3 == 1) cout << "o";
if(n%3 == 2) cout << "oo"; return 0; }

B

link



可以用二维数组记录每个点到其他各点的距离,再找最小的。

点击查看代码
#include<bits/stdc++.h>

#define int long long

using namespace std;

int n;
int x[105],y[105];
double g[105][105]; signed main(){ cin >> n;
for(int i = 1;i <= n;++ i)
cin >> x[i] >> y[i]; for(int i = 1;i <= n;++ i){
for(int j = 1;j < i;++ j){
g[i][j] = sqrt((x[i]-x[j])*(x[i]-x[j])
+(y[i]-y[j])*(y[i]-y[j]));
g[j][i] = g[i][j];
}
} for(int i = 1;i <= n;++ i){
double mx =-1e6;
for(int j = 1;j <= n;++ j)
if(i != j) mx = max(mx,g[i][j]);
for(int j = 1;j <= n;++ j){
if(abs(g[i][j]-mx) <= 1e-6&&i != j){
cout << j << endl;
break;
}
}
} return 0; }

C

link



这个题也不难。

把每个颜色中的最小值存下来,再从这些中取最大值。

判断这个颜色之前出没出现过,新建一个位置,否则再原来的位置上再取\(min\)。

点击查看代码
#include<bits/stdc++.h>

#define int long long

using namespace std;

int n,c[200005],tp;
map<int,int> mp; signed main(){ cin >> n;
for(int i = 1;i <= n;++ i){
int a,cc;
cin >> a >> cc;
if(mp[cc]) c[mp[cc]] = min(c[mp[cc]],a);
else mp[cc] = ++tp,c[mp[cc]] = a;
} int ans = 0;
for(int i = 1;i <= tp;++ i)
ans = max(ans,c[i]); cout << ans; return 0; }

D

link



一个普普通通的广搜。

点击查看代码
#include<bits/stdc++.h>

using namespace std;

int h,w;
int a[205][205];
int n;
int r,c,e;
int sx,sy,tx,ty;
int eng[205][205];
int le[205][205];
int dx[] = {0,0,0,1,-1};
int dy[] = {0,1,-1,0,0}; struct nd{
int x,y;
}; signed main(){ cin >> h >> w;
for(int i = 1;i <= h;++ i)
for(int j = 1;j <= w;++ j){
char ch;
cin >> ch;
if(ch == '.')a[i][j] = 0;
if(ch == '#')a[i][j] = 1;
if(ch == 'S')a[i][j] = 0,sx = i,sy = j;
if(ch == 'T')a[i][j] = 0,tx = i,ty = j;
}
cin >> n;
for(int i = 1;i <= n;++ i){
cin >> r >> c >> e;
eng[r][c] = e;
} if(eng[sx][sy] == 0){
cout << "No";
return 0;
} queue<nd> q;
q.push({sx,sy});
le[sx][sy] = eng[sx][sy];
while(!q.empty()){
int x = q.front().x;
int y = q.front().y;
q.pop();
for(int i = 1;i <= 4;++ i){
int xx = x+dx[i];
int yy = y+dy[i];
if(a[xx][yy] == 1) continue;
if(xx <= 0||yy <= 0||xx > h||yy > w)
continue;
if(max(le[x][y]-1,eng[xx][yy]) > le[xx][yy]){
q.push({xx,yy});
le[xx][yy] = max(le[x][y]-1,eng[xx][yy]);
}
if(xx == tx&&yy == ty){
cout << "Yes";
return 0;
}
}
} cout << "No"; return 0; }

E

link

随机推荐

  1. mp4封装格式与MPEG4Extractor

    首先来看mp4的封装格式,mp4数据都被放在一个个的箱子当中,也就是box,box的字节序为网络字节序,也就是大端存储,box由header和body组成,header指明box的大小和类型,body ...

  2. k8s ingress部署安装

    ingress概念 ingress与service,deployment同样都是k8s中的一种资源 ingress用于实现域名方式访问k8s内部应用 安装ingress 1. 安装helm: wget ...

  3. 搭建内网yum仓库

    服务器配置: 1. 创建yum仓库的目录,rpm包上传到这里. mkdir /soft/x86 -p 2. 修改yum缓存配置: sed -i 's#keepcache=0#keepcache=1#g ...

  4. iOS使用SignalR客户端代码典范-桥接web SignalR 客户端库

    一.SignalR介绍 SignalR是微软基于.Net提供的一个开源实时Web RPC库,可以用在web实时通信的需求上面,比如聊天,web数据更新 SignalR的接口使用十分简单 由于最近的一个 ...

  5. weak引用表原理探究

    一.weak引用实现原理探究 首先对<Xcode 10 下如何调试objc4-723>建立的objc源码调试工程表示感谢! 地址:https://www.jianshu.com/p/9e0 ...

  6. .NET集成DeveloperSharp实现"高效分页"&"无主键分页"

    DeveloperSharp系列近期又被制造业ERP.民航飞行App.建筑BIM.电力掌上营业厅.等多家大型采用,站在巨人的肩膀上你能走的更远. 支持.Net Core2.0及以上,支持.Net Fr ...

  7. itest(爱测试) 开源接口测试,敏捷测试管理平台10.1.0发布

    一:itest work 简介 itest work 开源敏捷测试管理,包含极简的任务管理,测试管理,缺陷管理,测试环境管理,接口测试,接口Mock,还有压测 ,又有丰富的统计分析,8合1工作站.可按 ...

  8. elementUI slider组件,带范围选择实现双向绑定

    网上查过很多相关文章都没有一章是写element ui滑块带范围实现双向绑定 二个滑块二头的数据怎么得到 我的需求是做个时间轴要滑动选择不同的时间 开始很难做最后一点一点摸索得出的结论 好在写出来了先 ...

  9. 使用 OpenTelemetry 构建可观测性 02 - 埋点

    这是讲解 OpenTelemetry 系列博客的第二篇.在上一篇博客中,我们介绍了 OpenTelemetry 是什么以及由什么组成.现在我们将讨论如何使用 OTel 准确收集遥测数据和链路追踪数据. ...

  10. Mysql常见使用问题的解决方法

    问题一:Mysql插入中文数据时,报错"incorrect string value"字符转换不正确 解决方法: 第一种方式: 1.更改Mysql安装目录下的文件my.ini(一般 ...