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

Codeforces Round 911 (Div. 2) A

时间:2023-11-26 23:57:09浏览次数:35  
标签:int Codeforces && ans Div include 911

真的太菜了……

题目链接:Problem - A - Codeforces

// Problem: A. Cover in Water
// Contest: Codeforces - Codeforces Round 911 (Div. 2)
// URL: https://codeforces.com/contest/1900/problem/0#
// Memory Limit: 256 MB
// Time Limit: 1000 ms
// 
// Powered by CP Editor (https://cpeditor.org)

#include<iostream>
#include<algorithm>
#include<cmath>
#include<vector>
#include<map>
#include<queue>
#include<deque>
#include<stack>
#include<set>
#include<utility>
#include<iomanip>
#include<string>
#define int long long
#define endl '\n'
using namespace std;
const int N=100010;

//cout << fixed << setprecision(2) << 3.1415 << endl;
//cin.tie(nullptr)->s ync_with_stdio(0);

bool cmp(int x,int y){
    return x>y;
}

void solve(){
        int n;
        cin>>n;
        char s[102];
        s[0]='#';
        s[n+1]='#';
        for(int i=1;i<=n;i++){
            cin>>s[i];
        }
        int ans=0;
        for(int i=1;i<=n;i++){
            if((s[i]=='.'&&s[i+1]=='#')||(s[i]=='.'&&s[i-1]=='#')){
                ans++;
            }
            if(s[i]==s[i+1]&&s[i+1]==s[i+2]&&s[i]=='.'){
                ans=2;
                break;
            }
        }
        cout<<ans<<"\n";

    // int n,cnt=0,ans=0,cnt2=0;
    // cin>>n;
    // // vector<int> v;
    // string a[105];
    // a[0]='.',a[n+1]='#';
    // for(int i=0;i<n;i++){
        // cin>>a[i];
        // if(a[i]==a[i+1]&&a[i+1]==a[i+2]&&a[i]=='.')ans=2;
        // if((a[i]=="."&&a[i+1]=="#")||(a[i]=="#"&&a[i+1]==".")) ans++;
        // // if(a[i]==".") cnt++;
        // // else{
            // // cnt2++;
            // // v.push_back(cnt);
            // // cnt=0;
        // // }
        // // sort(v.begin(),v.end(),cmp);
        // // if(v[0]>=3) ans=2;
        // // else ans=cnt2-1;
    // }
    // cout<<ans<<endl;
}

signed main(){
    int _=1;
    cin>>_;
    while(_--)
        solve();    
    return 0;
}

一开始分析完找到的规律是:

1.只要有超过三个连续的“.”存在,输出的答案就一定是2,因为位于中间位置的水可以无限次被拿出来放到其他地方,拿走后就一定会自动补充出新的中间位置的水。

2.有多少个“#”就有(多少-1)个

 

吕文钦的(真的很强……):

两种情况的特判,但是对数组两端的情况进行了限定,因为题目就是相当于两边是不能加水的,限定后可以做到与题目一致。

对“连续三个”的处理:我是计数、分别存进vector然后排序看最大的是否大于等于3,他直接利用连续三个元素的相等情况进行判断,确实是省去很大工作量

“#.”和“.#”的情况都是计数器加一,因为本身就是在三个连续这种情况之外,所以一定需要加一次水

标签:int,Codeforces,&&,ans,Div,include,911
From: https://www.cnblogs.com/613F/p/17858247.html

相关文章

  • [Codeforces] CF1799B Equalize by Divide
    序列操作(divide.cpp)—CF1799B—1200题目描述给您一个\(a_1,a_2,\dotsa_n\)这样的正整数数组,您可以对它进行多次(可以是零次)这样的操作:选择两个索引\(i,j(1\leqi,j\leqn,i\neqj)\);将\(a_i\)赋值为\(\lceil\frac{a_i}{a_j}\rceil\)。这里的\(\lceilx\rceil\)......
  • [Codeforces] CF1747C Swap Game
    游戏(game.cpp)—CF1747C—1200\(时间:1s\space|\space空间:250MB\)题面翻译Alice和Bob两个人在玩游戏。有一个长度为\(n\)的序列\(a\),Alice和Bob两人轮流完成一个操作,Alice先开始。每个人可以将数列的第一个数减\(1\),并将它与后面序列的一个数进行交换,如果一个......
  • CodeTON Round 7 (Div. 1 + Div. 2, Rated, Prizes!)
    CodeTONRound7(Div.1+Div.2,Rated,Prizes!)A-JaggedSwaps解题思路:若\(a[1]=1\),则可以。代码:#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;typedefpair<int,int>pii;#definefifirst#definesesecondvoidsolve(){......
  • CodeTON Round 7 (Div. 1 + Div. 2, Rated, Prizes!)
    CodeTONRound7(Div.1+Div.2,Rated,Prizes!)A-JaggedSwapsintmain(){IOS;for(cin>>_;_;--_){cin>>n;rep(i,1,n)cin>>a[i];while(true){boolf=0;rep(i,......
  • CodeTON Round 7 (Div. 1 + Div. 2) 解题报告
    CodeTONRound7(Div.1+Div.2)ContestLink广告:本场比赛博主使用了CCH完成,体验很好,推荐高rating用户使用(低rating受cloudflare影响很大)。A.JaggedSwaps\(\text{Status:\color{green}+\color{black}00:03}\)结论:输出YES当且仅当\(a_1=1\)。证明:如......
  • CF 158 (Rated for Div
    CF-158这次比赛较上次也是有进步,成功地多AC了一道题。但第4题也是很遗憾只差一点了。A.LineTrip题意:车在数轴上从$0$点到达$x$点又返回$0$点,有$k$点的油,可以走$k$个单位,在数轴上$a_1,a_2,a_3...a_n$处可以加油到$k$点,$0$点处和$x$点处无法加油,问$k$的最小值。思路:那么根据题......
  • CodeTON Round 7 (Div. 1 + Div. 2, Rated, Prizes!)
    CodeTONRound7(Div.1+Div.2,Rated,Prizes!)基本情况A题花了快半小时,做出来了但是不如正解。B题又是老毛病,一条路走到黑,爆搜打出来超时就死命想剪枝和记忆化,没想过换方法(觉得贪心不可行)。A-JaggedSwaps我的解法没啥好说的,纯模拟。看到\(n\leq10\)知道能过。......
  • Educational Codeforces Round 158 (Rated for Div. 2)
    EducationalCodeforcesRound158(RatedforDiv.2)基本情况A题很水,几分钟秒了。B题想到一个解,被自己hack掉之后没有重新想,一直想在自己一开始的基础上改好,结果最后B都没拿下。B.ChipandRibbon我的思路其实也是找规律,根本没严谨地证明正确性。不应该一条路走到黑的......
  • HTML <div> 和<span>
    HTML <div>和<span>HTML可以通过<div>和<span>将元素组合起来。HTML区块元素大多数HTML元素被定义为块级元素或内联元素。块级元素在浏览器显示时,通常会以新行来开始(和结束)。实例:<h1>,<p>,<ul>,<table>HTML内联元素内联元素在显示时通常不会以新行开始。......
  • Educational Codeforces Round 158 补题(A~D)
    A.思路找出最大耗油的路程即可ac代码#include<bits/stdc++.h>usingnamespacestd;usingi64=longlong;consti64inf=8e18;typedefpair<int,int>pii;voidsolve(){intn,x;cin>>n>>x;std::vector<int>v(n);f......