Codeforces Round 908 (Div. 2)视频详解

Educational Codeforces Round 157 (A--D)视频详解

视频链接

Codeforces Round 908 (Div. 2)视频详解

A题代码

cpp 复制代码
#include<bits/stdc++.h>
#define endl '\n'
#define deb(x) cout << #x << " = " << x << '\n';
#define INF 0x3f3f3f3f
using namespace std;

void solve()
{
	int n;
	cin >> n;
	string s;
	cin >> s;
	bool fa = false;
	bool fb = false;
	for(int y = 1; y <= n; y ++)
	{
		for(int x = 1; x <= n; x ++)
		{

			int ca = 0, cb = 0, cat = 0, cbt = 0;
			for(int i = 0; i < n; i ++)
			{
				if(s[i] == 'A')
					ca ++;
				else
					cb ++;

				if(ca == x)
				{
					ca = 0, cb = 0;
					cat ++;
					
				}

				if(cb == x)
				{
					ca = 0, cb = 0;
					cbt ++;
				}
				if(cat == y)
				{
					if(i < n - 1)
						break;
					fa = true;
				}
				if(cbt == y)
				{
					if(i < n - 1)
						break;

					fb = true;
				}
			}

		}
	}
	if(fa && !fb)
	{
		cout << "A" << endl;
	}
	else if(fb && !fa)
	{
		cout << "B" << endl;
	}	
	else
	{
		cout << "?" << endl;
	}
}

void solve_1()
{
	int n;
	cin >> n;
	string s;
	cin >> s;
	cout << s.back() << endl;
}

signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t;
	//t = 1;
	cin >> t;
	while(t--)
	solve_1();
}

B题代码

cpp 复制代码
#include<bits/stdc++.h>
#define endl '\n'
#define deb(x) cout << #x << " = " << x << '\n';
#define INF 0x3f3f3f3f
using namespace std;

void solve()
{
	int n;
	cin >> n;
	vector<int>a(n);
	map<int,int>st;
	for(int i = 0; i < n; i ++)
	{
		cin >> a[i];
		st[a[i]] ++;
	}

	int cnt = 0;
	for(auto [a, b]: st)
		if(b >= 2)
			cnt ++;

	if(cnt < 2)
	{
		cout << -1 << endl;
		return;
	}

	vector<int>b(n);
	int x = 1;
	for(int i = 0; i < n; i ++)
	{
		if(!b[i] && st[a[i]] > 1)
		{
			int col = 0;
			for(int j = i; j < n; j ++)
			{
				if(a[j] == a[i])
				{
					b[j] = (col) % 2 + x;
					col ++;
				}
			}
			x ++;
		}
		if(x == 3)
			break;
	}
	for(int i = 0; i < n; i ++)
	{
		if(!b[i])
			b[i] = 1;
	}
	for(int i = 0; i < n; i ++)
	{
		cout << b[i] << " ";
	}
	cout << endl;
}

signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t;
	//t = 1;
	cin >> t;
	while(t--)
	solve();
}

C题代码

cpp 复制代码
#include <bits/stdc++.h>
 
using namespace std;
 
void solve() 
{
  int n, k;
  cin >> n >> k;
  vector<int> a(n + 1);
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
  }
  k = min(k, n);
  int last = n;
  for (int i = 0; i < k; i++) 
  {
    if (a[last] > n) 
    {
      cout << "No\n";
      return;
    }
    last -= a[last];
    if(last <= 0)
    	last += n;
  }
  cout << "Yes\n";
}
 
signed main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int t;
  cin >> t;
  while (t--) {
    solve();
  }
}

D题代码

cpp 复制代码
#include<bits/stdc++.h>
#define endl '\n'
#define deb(x) cout << #x << " = " << x << '\n';
#define INF 0x3f3f3f3f
using namespace std;

bool cmp(int x, int y)
{
	return x > y;
}
void solve()
{
	int n, m;
	cin >> n >> m;
	vector<int>a(n),b(m);

	for(int i = 0; i < n; i ++)
		cin >> a[i];
	for(int i = 0; i < m; i ++)
		cin >> b[i];

	sort(b.begin(), b.end(), cmp);

	int j = 0;
	for(int i = 0; i < n; i ++)
	{
		while(j < m && b[j] >= a[i])
		{
			cout << b[j] << " ";
			j ++;
		}
		cout << a[i] << " ";
	}
	while(j < m)
		cout << b[j ++] << " ";

	cout << endl; 
}

signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t;
	//t = 1;
	cin >> t;
	while(t--)
	solve();
}
相关推荐
Captain823Jack40 分钟前
nlp新词发现——浅析 TF·IDF
人工智能·python·深度学习·神经网络·算法·自然语言处理
Captain823Jack1 小时前
w04_nlp大模型训练·中文分词
人工智能·python·深度学习·神经网络·算法·自然语言处理·中文分词
Aileen_0v02 小时前
【AI驱动的数据结构:包装类的艺术与科学】
linux·数据结构·人工智能·笔记·网络协议·tcp/ip·whisper
是小胡嘛2 小时前
数据结构之旅:红黑树如何驱动 Set 和 Map
数据结构·算法
m0_748255022 小时前
前端常用算法集合
前端·算法
呆呆的猫2 小时前
【LeetCode】227、基本计算器 II
算法·leetcode·职场和发展
Tisfy2 小时前
LeetCode 1705.吃苹果的最大数目:贪心(优先队列) - 清晰题解
算法·leetcode·优先队列·贪心·
余额不足121383 小时前
C语言基础十六:枚举、c语言中文件的读写操作
linux·c语言·算法
yuanManGan4 小时前
数据结构漫游记:静态链表的实现(CPP)
数据结构·链表
火星机器人life5 小时前
基于ceres优化的3d激光雷达开源算法
算法·3d