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;
	
} 
posted @ 2024-07-11 12:53  校牌杀手  阅读(11)  评论(0编辑  收藏  举报