Codeforces Round 911 (Div. 2)

发布时间 2023-11-27 14:59:08作者: yufan1102

2023 11 27

A. Cover in Water

题意是:有一片坑,可以进行两个操作,一个是在一个坑里倒水,一个是把水到在另一个坑里,如果一个坑的左右两边都有水,那么这个坑也会有水

思路:想想发现,只要有三个连续的坑,那么所有的坑都可以被填上,如果没有就只能一个一个的填。

using namespace std;
void solve(){
	int n;
	string s;
	cin>>n>>s;
    int ans=0;
    int cnt=0;
	for(int i=0;i<n;i++){
		if(s[i]=='.'){
			cnt++;
		}
		if(s[i]=='#'){
			if(cnt>2){
				cout<<2<<"\n";
				return;
			}else{
				ans+=cnt;
				cnt=0;
			}
		}
	}
	if(cnt>2){
		cout<<2<<"\n";
	}else{
		ans+=cnt;
		cout<<ans<<"\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. Laura and Operations

题意是:给你数字1,2,3的数量,你可以选择两个数删去,然后给另一个数加上,分别问你最后是否能只剩1,2,3

思路:拿1来说,如果abs(b-c)是偶数就行,因为不会剩余

using namespace std;
void solve(){
	int a,b,c;
	cin>>a>>b>>c;
	int x,y;
	x=abs(b-c);
	if(x%2!=0){
		cout<<0<<" ";
	}else{
		cout<<1<<" ";
	}
	x=abs(a-c);
	if(x%2!=0){
		cout<<0<<" ";
	}else{
		cout<<1<<" ";
	}
	x=abs(a-b);
	if(x%2!=0){
		cout<<0<<" ";
	}else{
		cout<<1<<" ";
	}
	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;
}