首页 > 其他分享 >CF1672

CF1672

时间:2023-10-26 21:14:45浏览次数:29  
标签:cout CF1672 int namespace cin len tie

A Log Chopping

直接把每次总切割数算出来就行

#include<bits/stdc++.h>
using namespace std;
int t;
signed main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin>>t;
	while(t--){
		int n;
		int tot=0;
		cin>>n;
		for(int i=1;i<=n;i++){
			int x;
			cin>>x;
			tot+=x-1;
		}
		if(tot%2==1) cout<<"errorgorn"<<'\n';
		else cout<<"maomao90"<<'\n';
	}
	return 0;
}

B I love AAAB

注意翻译不太对,它并不是分割成好的字符串,而是从空串开始可以从任意位置插入好字符串,所以直接判第n为是不是B,然后顺着扫 判断B是否有对应的A就可以了

#include<bits/stdc++.h>
using namespace std;
string s;
int n;
bool check(string c,int len){
	int now=0;
	int ans=0;
	if(s[len]!='B') return 0;
	for(int i=1;i<=len;i++){
		if(s[i]=='B'){
			if(!now) return 0;
			else{
				ans++;
				now--;
				continue;
			}
		}
		else{
			now++;
		}
	}
	return 1;
}
signed main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>s;
		int len=s.size();
		s=' '+s;
		if(check(s,len)) cout<<"YES"<<'\n';
		else cout<<"NO"<<'\n';
	}
	
	return 0;
}

C Unequal Array

很显然的可以想到有一种移的方式是要把两个要消除的部分拼起来,所以特判一下长度为3的区间就行

#include<bits/stdc++.h>
using namespace std;
int now=1e9+1;
const int maxn=2e5+5;
int a[maxn];
int t;
signed main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin>>t;
	while(t--){
		int n;
		cin>>n;
		int ans=0;
		for(int i=1;i<=n;i++) cin>>a[i];
		int lst=0;
		int noww=1;
		int l=INT_MAX;
		int r=0;
		for(int i=2;i<=n;i++){
			if(a[i]==a[i-1]){
				l=min(l,i-1);
				r=max(r,i);
			}
		}
		if(r-l+1<=2) cout<<0<<'\n';
		else if(r-l+1==3) cout<<1<<'\n';
		else cout<<r-l+1-3<<'\n';
	}
	return 0;
}

标签:cout,CF1672,int,namespace,cin,len,tie
From: https://www.cnblogs.com/jt0007/p/17790390.html

相关文章

  • [CF1672G]Cross Xor
    G-CrossXor对于\((n\&1)\&\&(m\&1)\)的情况,所有行、列的异或和的必须相等(异或和指当前行/列中所有元素的异或和)每次修改的点\((x_1,y_1)\),\((x_2,y_1)\),\((x_1,y_2)\),\((x_2,y_2)\)使得所有行和列的异或和不会改变只对\((i,j)\)进行一次操作,那么所有行和列的异或和都会......
  • 【CF1672I】PermutationForces(线段树)
    记\(c_i=|i-p_i|\)。可以证明,删掉一个\(c_i\leqs\)的点后,只会让\(c_j>s\)的点的\(c_j\)变小,且原本\(c_j\leqs\)的点的\(c_j\)仍不会大过\(s\)。也就是说我们......