CF978B File Name【数组操作/序列判断连续出现>=3次的‘x’个数】

CF978B File Name
【分析】:设置计数器cnt,计数x的个数;遇到非x,若cnt>=3的话累加多出的个数,计数器清零;若最后cnt>=3说明没遇到非x无法清零,那后部分就都是x,输出ans+=cnt-2
【代码】:

#include<bits/stdc++.h>
using namespace std;
const int  INF =  0x3f3f3f3f;
#define ms(a,b) memset(a,b,sizeof(a))
#define rep(i,a,b) for(int i=(a); i<(b); i++)
//#define run(i,a,b) for(int i=(a); i<=(b); i++)
const int N = 1e5+5;
#define ll long long
int n;

int v[N];
int b[N];
int a[N];
set<int> st;
vector<int> vt;
int main()
{
    cin>>n;
    string s;
    int ans=0,cnt=0;
    cin>>s;
    for(int i=0;i<s.size();i++)
    {
        if(s[i]=='x') cnt++;
        else
        {
            if(cnt>=3)  //xxxxxiop
            {
                ans+=cnt-2;
            }
            cnt=0;
        }
    }
    if(cnt>=3)//oooxxxxxxxx
    {
        ans+=cnt-2;
    }
    cout<<ans<<endl;
}

原文地址:https://www.cnblogs.com/Roni-i/p/9124069.html

时间: 2024-11-29 01:40:15

CF978B File Name【数组操作/序列判断连续出现>=3次的‘x’个数】的相关文章

C使用FILE指针文件操作

文件 文件的基本概念 所谓“文件”是指一组相关数据的有序集合. 这个数据集有一个名称,叫做文件名.实际上在前面的各章中我们已经多次使用了文件,例如源程序文件.目标文件.可执行文件.库文件 (头文件)等.文件通常是驻留在外部介质(如磁盘等)上的,在使用时才调入内存中来.从不同的角度可对文件作不同的分类.从用户的角度看,文件可分为普通 文件和设备文件两种. 普通文件是指驻留在磁盘或其它外部介质上的一个有序数据集,可以是源文件.目标文件.可执行程序: 也可以是一组待输入处理的原始数据,或者是一组输出的

一、数组操作的基本函数

一.数组操作的基本函数数组的键名和值array_values($arr);获得数组的值array_keys($arr);获得数组的键名array_flip($arr);数组中的值与键名互换(如果有重复前面的会被后面的覆盖)in_array("apple",$arr);在数组中检索applearray_search("apple",$arr);在数组中检索apple ,如果存在返回键名array_key_exists("apple",$arr);检

PHP数组操作大全

1 <?php 2 /** 3 * File: phpstudy : array_test.php 4 * Created by PhpStorm. 5 * User: IhMfLy [email protected] 6 * Date: 2016-08-03 7 * Time: 10:36 8 */ 9 24 25 26 # 创建数组 27 $arr1_0 = array(); 28 $arr1_0[] = 23; #创建,再初始化 29 $arr1_0[] = "lisi";

Java文件夹操作,判断多级路径是否存在,不存在就创建(包括windows和linux下的路径字符分析)

兼容windows和linux. 分析: 在windows下路径有以下表示方式: (标准)D:\test\1.txt (不标准,参考linux)D:/test/1.txt 然后在java中,尤其使用File对象在操作windows的路径时,非常的不好操作,因为不知道要用多少个斜杠“\”来表示. 斜杠“\”为转义字符(参考:http://www.cnblogs.com/EasonJim/p/6561576.html). 而java的File对象上无论是windows还是linux,输入的路径不管标

java file文件类操作使用方法大全

1.构造函数 [java] view plaincopy public class FileDemo { public static void main(String[] args){ //构造函数File(String pathname) File f1 =new File("c:\\zuidaima\\1.txt"); //File(String parent,String child) File f2 =new File("c:\\zuidaima",&quo

Halcon学习(三)赋值与数组操作

assign : 对数据赋值,对数组的初始化.但不能对数组中的某一个值进行赋值. 举例:Tuple1 := [1,0,3,4,5,6,7,8,9]    // 对数组进行初始化 Val := sin(1.2) + cos(1.2)        // 对某一个值进行赋值 Tuple2 := []                           // 数组定义 assign_at : 对数组中的某一个值进行赋值. 举例:Tuple1[1] := 2                       

OC2_数组操作

// // main.m // OC2_数组操作 // // Created by zhangxueming on 15/6/11. // Copyright (c) 2015年 zhangxueming. All rights reserved. // #import <Foundation/Foundation.h> //NSArray int main(int argc, const char * argv[]) { @autoreleasepool { NSArray *array1

javascript 常用的数组操作

join() Array.join(/* optional */ separator) 将数组转换为字符串,可带一个参数 separator (分隔符,默认为","). 与之相反的一个方法是:String.splict() ,将字符串分隔成若干块来创建一个新的数组. reverse() Array.reverse(),颠倒数组元素的顺序,返回逆向的数组.注意此方法会修改原来数组元素的位置,而不是返回一个新的数组. sort() sort() 方法将数组中的元素排序并返回排序后的数组.s

javascript jquery数组操作小结

----------------------------------------------------------定义数组---------------------------------------------------------- $(function(){ var aArray = {};//定义一个数组 aArray['name'] = "张三"; aArray['sex'] = "男"; aArray['mail'] = "[email p