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. JSON转化工具的使用

    概述 JSON是一种轻量化的数据传输格式,在各种场景都有运用.比如在ajax中,服务端的数据一般通过JSON字符串的格式传输给前端,前端ajax引擎自动将JSON字符串转化为JS对象(需要将ajax的 ...

  2. MahApps.Metro的MVVM模式解析(二) 主题功能

    MahApps.Metro的MVVM模式解析(二) 主题功能 MahApps.Metro是一个开源的WPF框架,旨在为WPF应用程序提供现代和漂亮的用户界面. 在MahApps.Metro中提供了切换 ...

  3. Advanced .Net Debugging 9:平台互用性

    一.介绍 这是我的<Advanced .Net Debugging>这个系列的第九篇文章.这篇文章的内容是原书的第二部分的[调试实战]的第七章[互用性].互用性包含两个方面,第一个方面就是 ...

  4. 面试官:说说Netty对象池的实现原理?

    Netty 作为一个高性能的网络通讯框架,它内置了很多恰夺天工的设计,目的都是为了将网络通讯的性能做到极致,其中「对象池技术」也是实现这一目标的重要技术. 1.什么是对象池技术? 对象池技术是一种重用 ...

  5. 带你了解磁盘驱动程序(xv6)

    磁盘驱动程序 本文来聊聊磁盘驱动程序,驱动程序是硬件的接口,操作系统通过这个接口来控制硬件工作,所以驱动程序就好比是硬件和系统之间的桥梁.这是百科上给出的解释,可能看起来还是云里雾里,我来做做注解. ...

  6. 在.NET Core,除了VB的LikeString,还有其它方法吗?(四种LikeString实现分享)

    Like运算符很好用,特别是它所提供的其中*.?这两种通配符,在Windows文件系统和各类项目中运用非常广泛. 但Like运算符仅在VB中支持,在C#中,如何实现呢? 以下是关于LikeString ...

  7. PasteSpider的集群组件PasteCluster(让你的项目快速支持集群模式)的思路及实现(含源码)

    PasteSpider是什么? 一款使用.net编写的开源的Linux容器部署助手,支持一键发布,平滑升级,自动伸缩, Key-Value配置,项目网关,环境隔离,运行报表,差量升级,私有仓库,集群部 ...

  8. Spring扩展——Aware接口

    Aware接口 在Spring中有许多的Aware接口,提供给应用开发者使用,通过Aware接口,我们可以通过set的方式拿到我们需要的bean对象(包括容器中提供的一些对象,ApplicationC ...

  9. Go 语言中的异常处理简单实践 panic、recover【GO 基础】

    〇.Go 中的异常处理简介 Golang 没有结构化异常,使用 panic 抛出错误,recover 捕获错误. panic.recover 参数类型为 interface{},因此可抛出任何类型对象 ...

  10. 记一次 MatPlotLib 报错及解决方案:AttributeError: module 'matplotlib.cbook' has no attribute '_Stack'

    记一次 MatPlotLib 报错及解决方案 目录 记一次 MatPlotLib 报错及解决方案 解决方法 具体发生了什么 报错 log 1 内容 报错 log 2 内容 最近出现 MatPlotLi ...