首页 > 其他分享 >A. Moving Chips

A. Moving Chips

时间:2024-02-28 16:24:50浏览次数:22  
标签:cnt int sum start1 Moving Chips

原题链接

题意简述

把1移到移到左边最近的0的位置,请问形成一片连续的一需要移多少次?

题解

坦克的履带,对于两群不相连的1,右边想和左边相连至少要走中间的0的数量的步数,这下就可以遇到零才执行收获操作了

code

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        int n,cnt=0,start1=0,sum=0;
        cin>>n;
        for(int i=1;i<=n;i++)
        {
            int x;
            cin>>x;
            if(x==1)
            {
                cnt+=sum;
                sum=0;
                start1=1;
            }
            else if(start1) sum++;
        }
        cout<<cnt<<endl;
    }
    return 0;
}

标签:cnt,int,sum,start1,Moving,Chips
From: https://www.cnblogs.com/pure4knowledge/p/18040873

相关文章

  • CF351D - Jeff and Removing Periods 题解
    首先做一点显然的转化:在进行第一次操作之后,可以将相同的数排在一起,这样一次就能删掉一种数。如果一开始就能删光一种数的话,那么次数就是区间颜色数,否则就是区间颜色数\(+1\)。所以现在原问题变成了两个问题:求区间内不同颜色数,判断区间内是否有某种颜色满足其出现位置构成等差数......
  • G. Moving Platforms
    G.MovingPlatformsThereisagamewhereyouneedtomovethroughalabyrinth.Thelabyrinthconsistsof$n$platforms,connectedby$m$passages.Eachplatformisatsomelevel$l_i$,anintegernumberfrom$0$to$H-1$.Inasinglestep,ifyouarec......
  • CF1385F Removing Leaves 题解
    解题思路简单贪心,优先选择叶子节点最多的,这样能够保证一定能把所有能删的都删了。因为要建一个可删除的图,所以我们可以使用set来存边,不然就需要维护一堆东西……那么我们肯定是从有叶子节点的点向父亲更新的,那么我们每次选择叶子节点最多的点,然后删除\(k\)个叶子,判断一下删......
  • [ARC114D] Moving Pieces on Line 题解
    题目链接点击打开链接题目解法有点牛的题,前面的转化感觉很妙首先一个显然的性质是:一个棋子不可能走回头路,不然前面的路就白走了下面是最妙的一步:我们令\(st_i\)为\(i-1\toi\)和\(i\toi+1\)的颜色是否相同,那么问题可以转化成:选择\(\{p_i\}\),一开始所有点颜色为\(0\)......
  • CF351D Jeff and Removing Periods
    https://www.luogu.com.cn/problem/CF351D由于每次操作后存在重排操作,我们可以让序列(询问的区间)中的相同值放在一块,这样以后每次操作就能删掉一整个值相同的位置了。那么第二次操作后所需操作数就是当前序列中不同数的个数。经典数颜色问题,离线线段树/莫队/主席树都能做。数颜色......
  • CF1795F Blocking Chips
    题意给定一棵大小为\(n\)的树,有\(k\)个人,第\(i\)个人在节点\(a_i\)。从第\(1\)秒开始,依次操作第\(1,2,3,\ldots,k,1,2,3,\ldots,k,\ldots,k,\ldots\)个人,把这个人移动到没有走过的点。Sol调了\(3h\),给哥们整吐了。不难想到二分答案时间,算出每个人走......
  • hci0 command 0xfc20 tx timeout(Realtek 8761B Chipset, Bluetooth 5.0)
    当前使用的Linux内核版本: 4.4.189插上USBBluetooth5.0Adapter后,dmesg显示如下log:[240.348480]usb3-1.2:newfull-speedUSBdevicenumber6usingehci-platform[240.437834]usb3-1.2:NewUSBdevicefound,idVendor=0bda,idProduct=8771[240.438541]us......
  • 无涯教程-批处理 - Moving Files函数
    对于移动文件,批处理脚本提供了MOVE命令。MOVE[/Y|/-Y][drive:][path]filename1[,...]destination以下是可以提供给DEL命令的选项的说明。S.No.Options&描述1.[drive:][path]filename1指定要移动的文件的位置和名称2.destination指定文件的新位置,目标可以由......
  • centOS6.5 无法使用yum源的问题 removing mirrorlist with no valid mirrors: /var/ca
     一次在临时服务器执行yum命令出现报错问题:removingmirrorlistwithnovalidmirrors:/var/cache/yum/x86_64/6/base/mirrorlist.txt ......1、修改fastestmirror.conf的配置参数sed-i"s|enabled=1|enabled=0|g"/etc/yum/pluginconf.d/fastestmirror.conf2、备份......
  • tar: Removing leading `/' from member names
    在执行压缩文件命令时,出现tar:Removingleading`/'frommembernames的问题,详情如下:dates=$(date-dyesterday+%F%m%d)tar-zcvf/root/backup/$dates.tar.gz/usr/bigdata/logs/$dates使用mantar命令查看,发现有一个-P选项,不从文件名中分离"/"。 ......