首页 > 其他分享 >Codeforces Round 908 (Div. 2)

Codeforces Round 908 (Div. 2)

时间:2023-11-08 14:15:20浏览次数:31  
标签:int 908 cin Codeforces 给定 && ans Div ct

A. Secret Sport

题意:A与B选手在下棋,规定下赢X把看作赢一局,一共赢Y把的那个是最后的赢家。
思路:因为不知道x,y到底是多少,n的范围是到20,所以只需要枚举x即可,时间复杂度不高,注意的是,如果枚举结果是A赢,那么给定字符串的最后一个值一定是A,反之也是。
#include<bits/stdc++.h>
using namespace std;
void solve(){
	int n;
	cin>>n;
	string s;
	cin>>s;
    for(int i=1;i<=n;i++){
    	int ct=0,ct2=0;
    	int x=0,y=0;
    	for(int j=0;j<n;j++){
    		if(s[j]=='A')ct++;
    		else ct2++;
    		if(ct==i){
    			x++;
				ct=0;
				ct2=0; 
			}
			if(ct2==i){
				y++;
				ct=0;
				ct2=0;
			}
		}
		if(x>y&&s[n-1]=='A'){
			cout<<"A\n";
			return;
		}
		if(x<y&&s[n-1]=='B'){
			cout<<"B\n";
			return;
		}
	}
	cout<<"?\n";
}
int main(){
	ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	int t=1;
	cin>>t;
	for(int i=1;i<=t;i++)solve();
	return 0;
} 

B. Two Out of Three

题意:给定一个数组,判断是否能构造出一个数组,满足给定条件中的三个中的两个?
image
思路:通过分析可得,要想满足下面条件中的两个,该数组就必须要有两个或两个以上相同的数超过两组
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
vector<int>p[N];
int ans[N];
void solve(){
	int n;
	cin>>n;
	for(int i=1;i<=100;i++){
		p[i].clear();
		ans[i]=1;
	}
    for(int i=1;i<=n;i++){
        int x;
        cin>>x;
        p[x].push_back(i);
	}
	int ct=0;
	for(int i=1;i<=100;i++){
		if(p[i].size()>=2&&ct==0){
			for(auto c:p[i]){
				ans[c]=2;
				ct++;
				break;
			}
			continue;
		}
		if(p[i].size()>=2&&ct>0){
			for(auto c:p[i]){
				ans[c]=3;
				ct++;
				break;
			}
		}
	}
	if(ct>=2){
		for(int i=1;i<=n;i++){
			cout<<ans[i]<<" ";
		}
		cout<<"\n";
	}else{
		cout<<-1<<"\n";
	}
}
int main(){
	ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	int t=1;
	cin>>t;
	for(int i=1;i<=t;i++)solve();
	return 0;
} 

标签:int,908,cin,Codeforces,给定,&&,ans,Div,ct
From: https://www.cnblogs.com/yufan1102/p/17817245.html

相关文章

  • 相对熵/KL散度(Kullback–Leibler divergence,KLD)
    相对熵(relativeentropy)又称为KL散度(Kullback–Leiblerdivergence,简称KLD),信息散度(informationdivergence),信息增益(informationgain)。KL散度是两个概率分布P和Q差别的非对称性的度量。     KL散度是用来度量使用基于Q的编码来编码来自P的样本平均所需的额外的比特个......
  • Codeforces Visit
    CodeforcesVisit记录一下自己大概vis了那几场??随机补题大法好!CF632Div.2飞速模拟出ABC。优势在我!CF1333D发现就是把字符串变成LLRR此类形状。所以开头必然是L啊,然后我们考虑先把L换到第一个。发现必然是LLLLLLLLLLLRRRRRRRR啊,很快啊,不会了。CF1333E你妈妈con......
  • CSS让子元素div的高度填满父容器的剩余空间的方法
    原帖:https://pythonjishu.com/unbayyjtzdjeewe/以下是详细讲解CSS让子元素div的高度填满父容器的剩余空间的方法的完整攻略。方法一:FlexboxFlexbox是一种强大的布局方式,使用起来非常方便。可以通过设置父元素的display属性为flex来开启flexbox布局,然后设置子元素的......
  • Educational Codeforces Round 157 (Rated for Div. 2)
    A.TreasureChest题目大意:人在0处,宝藏在x,钥匙在y,人最多拿宝箱z秒,问你最快多久开宝箱?思路:如果说钥匙在宝箱的左边,那么人只需要往右走就是最佳答案,如果钥匙在宝箱的右边,那么人只需要拿的宝箱到最佳地点就行#include<bits/stdc++.h>usingnamespacestd;voidsolve(){ intx,y......
  • Educational Codeforces Round 157 (Rated for Div. 2)
    F.FancyArrays第一眼感觉是去容斥掉条件1,因为条件2其实挺紧的。不妨用\(f(l,r)\)表示\(a\)值域在\([l,r]\)的方案(满足条件2)。那么答案为\(f(0,+\infty)-f(0,x-1)-f(x+k,+\infty)\),因为如果选了\([0,x-1]\)的数,那么还要更大的话,一定会选到\([x,x+k-1]\),所以你要......
  • Codeforces Round 907 (Div. 2)
    ASortingwithTwos题目大意:选择一个m,然后将1~2^m下表的数减一,可以操作无限次,问你能不能使数组单调递增题目数据851234556534496557566874432162245328131719275717913531757179921012340678910YESYESYE......
  • 2023/11/5 <div>标签的介绍
    <div>标签是用来为HTML文档的内容提供结构和背景的元素。<div>开始标签和</div>结束标签之间的所有内容都是用来构成这个快的,其中所包含标签的特性由<div>标签中的属性来控制,或者通过使用样式表格式化这个表来进行控制。 div全称division,意为分割.<div>标签被称为分割标签,表示......
  • 11月3日前端需要学习的知识、自闭合标签、meta标签、div标签
    目录前端需要学习的知识生成的网页类型静态网页动态网页网页的架构c/s架构b/s架构浏览器的特别用法第一种结合python来使用第二种将文件拖入浏览器里面(这就符合渲染了)重点HTML首先!DOCTYPEhtml其次就是html到/html还有就是head到/head的内部最后就是body到/body总结其它的标签......
  • Ozon Tech Challenge 2020 (Div.1 + Div.2, Rated, T-shirts + prizes!) B. Kuroni an
    Problem-1305B-Codeforces 啦啦啦,这题题目有点长,概括一下就是,希望将所有()匹配的括号去掉问你需要操作多少次 双指针,一个i一个j,从前往后记录匹配的括号如果发现:1.括号匹配2.i<jok,就放入ans (⊙o⊙)…,最后记得sort一遍ans,第一遍因为这个wa了一发 #include......
  • Codeforces Round 905 (Div. 2) C. You Are So Beautiful
    题面翻译给定数列\(a\),定义一个子序列\(S\)是合法的当且仅当从\(a\)中有且仅有一种选法能选出子序列\(S\)(选法相同定义为最终选出的位置集合相同)。求其有多少非空合法子序列,满足它占据了\(a\)中一端连续的区间。\(n\leq10^5\)。思路判断区间合法性对于一段区间\([l......