ABC361
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;
}
随机推荐
- 如果个人pc上要装不同社区版本的pycharm,安装时需要注意的一点
pycharm下载地址[包含了目前发行的所有版本]:https://www.jetbrains.com/pycharm/download/other.html 选择指定的版本,点击 勾选uninsta ...
- Django视图的请求与响应
1.请求对象 (1)请求方式 print(request.method) (2)请求数据 (3)请求路径 # HttpRequest.path: 表示请求的路径(不含get参数) # HttpRequ ...
- 修改linux默认启动界面——从命令行模式转换为图形化模式
从命令行模式转换为图形化模式 首先需要安装对应的图形化安装包 yum groupinstall "GNOME Desktop" "Graphical Administra ...
- Vue前端的搭建(与后端JavaEE的连接)
目录 前端平台搭建(Vue2.6,App:HBulderX) 创建Vue2.6项目 下载相应插件方便开发 路由配置 对连接后端进行一些配置(main.js文件) 导入ElementUI组件 组件 | ...
- 剑指Offer-60.把二叉树打印成多行(C++/Java)
题目: 从上到下按层打印二叉树,同一层结点从左至右输出.每一层输出一行. 分析: 层次打印二叉树,在打印二叉树结点的同时,保存好结点的左右孩子,不断的重复打印,直到需要打印的数组为空即可. 程序: C ...
- python解析字符串中的省市区字符串
#python解析字符串中的省市区字符串 #str4 = "XX省XX市辛桥乡赵庄村XX号" #str4 = "XX省XX市XX区八卦二路XX号XX栋XX楼" ...
- FreeRTOS简单内核实现7 阻塞链表
0.思考与回答 0.1.思考一 如何处理进入阻塞状态的任务? 为了让 RTOS 支持多优先级,我们创建了多个就绪链表(数组形式),用每一个就绪链表表示一个优先级,对于阻塞状态的任务显然要从就绪链表中移 ...
- getRefs is undefined html vue2项目 报错
vue2项目提示 getRefs is undefined 在div上面写了,ref,还写了v-if 然后再watch中操作了 ref 导致报错. 分析: 组件因为v-if 为 false 没有注册和 ...
- SVG <pattern> 标签的用法和应用场景
通过使用 <pattern> 标签,可以在 SVG 图像内部定义可重复使用的任意图案.这些图案可以通过 fill 属性或 stroke 属性进行引用. 使用场景 例如我们要在 <sv ...
- 这几个必备的vscode插件,你安装了几个
作为一名前端开发者,vscode想必大家应该都接触过,就像大多数 IDE 一样,VSCode 也有一个扩展和主题市场,包含了数以千计质量不同的插件. 作为一名熟练掌握各种前端开发工具安装和卸载的大师兄 ...