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. Vue cli之组件的嵌套

    前面显示Home.vue页面组件的内容时,我们是在App.vue通过import导入使用的.这个过程就是组件的嵌套使用.那么我们除了App.vue可以导入其他页面以外,也可以通过在Home.vue中导 ...

  2. RHEL7.9安装Podman4.1.1并部署Redis集群

    原文链接:RHEL7.9安装Podman4.1.1并部署Redis集群-语雀 环境 操作系统 cat /etc/redhat-release Red Hat Enterprise Linux Serv ...

  3. react路由过渡动画效果

    render() { return ( <div> <li><Link to="/home">Home</Link></li& ...

  4. kettle从入门到精通 第十七课 kettle Transformation executor

    Transformation executor步骤是一个流程控件,和映射控件类似却又不一样. 1.子转换需要配合使用从结果获取记录和复制记录到结果两个步骤,而子映射需要配合映射输入规范和映射输出规范使 ...

  5. Python + redis操作Redis数据库

    Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...

  6. 使用 Filebeat+Easysearch+Console 打造日志管理平台

    近年来,日志管理平台越来越流行.使用日志管理平台可以实时地.统一地.方便地管理和查看日志,挖掘日志数据价值,驱动运维.运营,提升服务管理效率. 方案架构 Beats 是轻量级采集器,包括 Filebe ...

  7. mac os 10.15.1 懒人 .CDR

    链接:https://pan.baidu.com/s/1MHbUnHWQuGVE1P36mTjmkQ 提取码:ohlu

  8. sql去重常用的基本方法

    1.存在两条完全相同的纪录 select distinct * from table(表名) where (条件)   2.存在部分字段相同的纪录(有主键id即唯一键) 如果是这种情况的话用disti ...

  9. Spring扩展——@Import注解

    引言 在Spring中有许多Enable开头的注解,比如以下常见注解 @EnableTransactionManagement @EanbleAsync @EnableCache @EnableAsp ...

  10. 高级前端开发需要知道的 25 个 JavaScript 单行代码

    1. 不使用临时变量来交换变量的值 例如我们想要将 a 于 b 的值交换 let a = 1, b = 2; // 交换值 [a, b] = [b, a]; // 结果: a = 2, b = 1 这 ...