A

link



先输出前\(k\)个,再输出\(x\),最后输出后面的。

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

using namespace std;

int n,k,x;

signed main(){

	cin >> n >> k >> x;
for(int i = 1;i <= n;++ i){
int a;
cin >> a;
cout << a << " ";
if(i == k) cout << x << " ";
} return 0; }

B

link



先看一下这个图。



样例很好的给我们了思路,只要判读第二个的左前下角在第一个右后上角的左前下方即可(即在第一个正方体内部)。

还有一种情况。

第二个正方体本身就在第一个的左前下方(无交),这时也符合第一个条件,那么就要避免这种情况。

于是乎,有了第二个条件第二个的右后上角在第一个的左前下角的右后上方(在第一个正方体内部)。

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

using namespace std;

int a,b,c,d,e,f,g,h,i,j,k,l;

signed main(){

	cin >> a >> b >> c >> d >> e >> f;
cin >> g >> h >> i >> j >> k >> l; if(g < d&&h < e&&i < f&&j > a&&k > b&&l > c)
cout << "Yes";
else cout << "No"; return 0; }

C

link



我们可以发现,他虽然打着顺序不变的旗号吓唬我们,可他要求的最大值和最小值根顺序无关,所以我们直接排序即可。

那么排序后的结果可以直接在其中取连续的一段取头和尾作差,这样连续的一段的最大值和最小值的差一定要比不连续的小,因为不连续的要么最小更小,要么最大更大,终究不合适。

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

using namespace std;

int n,k;
int a[200005];
int ans = 1e9; signed main(){ cin >> n >> k;
k = n-k;
for(int i = 1;i <= n;++ i)
cin >> a[i];
sort(a+1,a+1+n); for(int i = 1;i+k-1 <= n;++ i){
ans = min(ans,a[i+k-1]-a[i]);
} cout << ans; return 0; }

D

link



爆搜即可。

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

using namespace std;

int n;
string s,t;
map<string,bool> vs; void bfs(){ queue<pair<string,int> > q;
q.push({s,0});
vs[s] = 1;
string c;
while(!q.empty()){ c = q.front().first;
int b = q.front().second;
q.pop(); if(c == t){
cout << b << endl;
exit(0);
} int t = 0;
for(int i = 0;i < n-1;++ i){
if(c[i] == '.'){
t = i;
break;
}
} for(int i = 0;i < n-1;++ i){
if(c[i] == '.'||c[i+1] == '.')
continue;
swap(c[i],c[t]);
swap(c[i+1],c[t+1]);
if(vs[c]){
swap(c[i],c[t]);
swap(c[i+1],c[t+1]);
continue;
}
vs[c] = 1;
q.push({c,b+1});
swap(c[i],c[t]);
swap(c[i+1],c[t+1]); } } cout << -1; } signed main(){ cin >> n >> s >> t; s = s+"."+".";
t = t+"."+".";
n += 2; bfs(); return 0; }

随机推荐

  1. 一文读懂Spring的SPI机制

    一. 从类加载说起 Java中的类加载器负载加载来自文件系统.网络或者其他来源的类文件.jvm的类加载器默认使用的是双亲委派模式.三种默认的类加载器Bootstrap ClassLoader.Exte ...

  2. golang 无向简单图邻接多重表

    package main import "fmt" type MultipleEdgeNode struct { iVex int iLink *MultipleEdgeNode ...

  3. Android 12(S) MultiMedia Learning(十)ACodec & OMX

    这一节的学习分为三块内容,omx hidl service用法.OMX架构.ACodec中的buffer分配. 1.omx hidl service system可以借助vndbinder来访问ven ...

  4. 最好的在线PDF转换工具服务

    工作中有时候会碰到需要转换PDF文件的情况,现在网上就要很多免费的在线工具,可以进行PDF文件的转换,下面就来介绍一些可以直接在浏览器中将文档.电子表格.和图片转换为PDF或者互相转换的服务工具. ​ ...

  5. Android桌面Launcher源码浅析

    在Android启动过程-万字长文(Android14)中介绍了Android系统的启动过程,本篇文章将继续介绍桌面应用Launcher. 一.Launcher介绍 在Android启动过程-万字长文 ...

  6. Qt开发技术:Q3D图表开发笔记(四):Q3DSurface三维曲面图颜色样式详解、Demo以及代码详解

    前言   qt提供了q3d进行三维开发,虽然这个框架没有得到大量运用也不是那么成功,性能上也有很大的欠缺,但是普通的点到为止的应用展示还是可以的.  其中就包括华丽绚烂的三维图表,数据量不大的时候是可 ...

  7. docker ——网络配置和管理

    docker网络基础 了解docker网络 两种docker网络 单主机与多主机的docker网络 网络驱动 网络驱动 介绍 bridge 桥接网络,这是默认的网络驱动程序 host 主机网络 ove ...

  8. 初学go语言

    for(int a = 0; a<10 ; a++){ // c语言的循环 } for a := 0 ; a<10 ; a++ {     // go语言的循环 } // for二边的括号 ...

  9. js jquery input radio点击事件

    HTML: <input type="radio" name="myname" value="1" />1 <input ...

  10. 一款.NET开源、功能强大、跨平台的绘图库 - OxyPlot

    前言 今天大姚给大家分享一款.NET开源(MIT License).免费.跨平台.功能强大的绘图库,支持多平台使用(包括:WPF.UWP.WinForm.Silverlight.Xamarin.iOS ...