首页 > 其他分享 >AtCoder Beginner Contest 386(补题)

AtCoder Beginner Contest 386(补题)

时间:2024-12-31 15:56:27浏览次数:1  
标签:std AtCoder index int else ++ 补题 386 ans

AtCoder Beginner Contest 386

C - Operate 1

https://atcoder.jp/contests/abc386/tasks/abc386_c

思路

简单的条件判断题

代码

#include <bits/stdc++.h>

typedef std::pair<int, int> pii;
#define INF 0x3f3f3f3f
#define MOD 998244353
using i64 = long long;
const int N = 1e5+5;

void solve(){
	int k;
	std::string s, t;
	std::cin >> k >> s >> t;

	int n = s.size(), m = t.size(), ans = 0;

	if (n == m){
		for (int i = 0; i < n; i++){
			if (s[i] != t[i]){
				k -= 1;
				if (k < 0) {
					break;
				}
			}
		}
		if (k < 0) ans = 0;
		else ans = 1;
	}else if (n == m + 1){
		int index = 0;
		for (int i = 0; i < n; i++){
			if (s[i] == t[index]){
				index++;
			}
		}
		if (index == m){
			ans = 1;
		}else{
			ans = 0;
		}
	}else if (m == n + 1){
		int index = 0;
		for (int i = 0; i < m; i++){
			if (t[i] == s[index]) index++;
		}
		if (index == n){
			ans = 1;
		}else{
			ans = 0;
		}
	}else{
		ans = 0;
	}

	std::cout << (ans == 0 ? "No\n" : "Yes\n");

}

signed main()
{
	std::ios::sync_with_stdio(false);
	std::cin.tie(nullptr);
	std::cout<<std::setiosflags(std::ios::fixed)<<std::setprecision(2);
	int t = 1, i;
	for (i = 0; i < t; i++){
		solve();
	}
	return 0;
}

标签:std,AtCoder,index,int,else,++,补题,386,ans
From: https://www.cnblogs.com/califeee/p/18644144

相关文章

  • atcoder ABC385 部分题解
    G-CountingBuildings简要题义一个排列的\(L(P)\)为\(\sum_{i=1}^n[premax(i)=P_i]\),即前缀最大值为自身的位置数,\(R(P)\)同理为后缀最大值。有多少个排列使得\(L(P)-R(P)=k\)题解假设\(n,k\)是同阶的。我们从\(n\)到\(1\)依次插入数,考虑朴素的DP:设\(f_{i,k......
  • AtCoder Beginner Contest 386 赛后总结
    赛时A-D。菜。A-C模拟即可。D先检查一下竖着的一列有没有出现:白黑或者黑白黑的情况。有的话一定不行。因为每个白点的右下角一定都得是白的,就相当于对下面的行数取后缀最小值,这个可以使用差分实现。点击查看代码#include<bits/stdc++.h>#definelllonglong#def......
  • [题解](更新中)AtCoder Beginner Contest 386(ABC386) A~E
    A-FullHouse2容易发现,答案为Yes\(\iff\)输入中恰好出现了\(2\)种不同的数,可以用set等数据结构来计算不同元素的个数。点击查看代码#include<bits/stdc++.h>usingnamespacestd;set<int>se;signedmain(){ for(inti=1,a;i<=4;i++){ cin>>a; se.insert(a); } c......
  • AtCoder DP Contest(刷题记录)
    A-Frog1题意:给定\(n\)个石头,第\(i\)个石头的高度为\(h_i\).现在要求小青蛙从\(1\)号石头跳到\(n\)号石头,每次小青蛙可以选择从\(i\)号石头跳到\(i+1\)或\(i+2\)号石头,代价是起跳点与落点的高度差的绝对值。询问你最小代价。解法:\(dp[i]\)表示小青蛙跳到第号石头时的最小代......
  • CF补题 981-Div.3
    CF补题981-Div.3-20241226Dashboard-CodeforcesRound981(Div.3)-CodeforcesA:题目大意:\(x\)从\(0\)开始,轮流将\(x\)前后移动\(i*2-1\),求最后移动出$-n,n$的$i$#include<iostream>#include<math.h>usingnamespacestd;intmain(){ intT; c......
  • AtCoder Regular Contests
    \[\begin{matrix}\color{#d9d9d9}\blacksquare\color{#D9C5B2}\blacksquare\color{#B2D9B2}\blacksquare\color{#B2ECEC}\blacksquare\color{#B2B2FF}\blacksquare\color{#ECECB2}\blacksquare\color{#FFD9B2}\blacksquare\color{#FFB2B2}\blacksqu......
  • Atcoder_cf17_final_j Tree MST
    这是我的第一道黑题!言归正传,题意是,给定一棵\(n\)个节点的树,现有有一张完全图,两点\(x\),\(y\)之间的边长为\(w_x+w_y+dis_{x,y}\),其中\(dis_{x,y}\)表示\(x\)和\(y\)在树上的距离,求完全图的最小生成树。常规的求最小生成树的算法有\(kruskal\)、\(prim\)。但是这里这......
  • 省选训练赛 #9 题目 E 补题记录
    题意:一张\(n\timesm\)的网格图,行和列的间距为\(1\)。有\(n\timesm\)个激光器,每个激光器可以用\((X_1,X_2,X_3,X_4)\)表示,其中\(0\leX_1,X_2,X_3,X_4\le1\),表示是否向上、向右、向下、向左发射激光,每道激光长度为\(0.5\)。给定每种激光器的数量,求随机摆放这些激......
  • Codeforces Round 995 (Div. 3)(补题)
    CodeforcesRound995(Div.3)D.CountingPairs(离散化+二分)题目描述给你一个由\(n\)个整数组成的序列\(a\),其中序列的\(i\)-th元素等于\(a_i\)。同时还给出两个整数\(x\)和\(y\)(\(x\ley\))。如果满足以下条件,一对整数\((i,j)\)就会被认为是有趣的:\(1......
  • Codeforces Round 993 (Div. 4)(补题)
    CodeforcesRound993(Div.4)只选择对我有价值的题目记录E.InsaneProblem题目描述给定五个整数\(k\),\(l_1\),\(r_1\),\(l_2\)和\(r_2\),Wave希望你帮助她计算满足以下所有条件的有序对\((x,y)\)的数量:\(l_1\leqx\leqr_1\)。\(l_2\leqy\leqr_2\)。存在一......