zoukankan      html  css  js  c++  java
  • CF 729D 模拟,思维

    CF 729 D. Sea Battle

    题意:n个单位长的海域,有a只船,船长为b。已经开了k枪没有射中,求最少再开几枪可射中一只船。

    题解:转变一下思维,求开了k枪后可放入多少只船。要求再开几枪可射中一只船,只要 -a+1即可。

    #include<bits/stdc++.h>
    using namespace std;
    #pragma comment(linker, "/STACK:102400000,102400000")
    #define FF(i,a,b) for (int i=a;i<=b;i++)
    #define F(i,b,a)  for (int i=b;i>=a;i--)
    #define mes(a,b)  memset(a,b,sizeof(a))
    #define INF 0x3f3f3f3f
    typedef long long ll;
    const int N = 2e5+10;
    
    int main()
    {
        vector<int >A;
        int n, a, b, k;
        string s;
        cin>>n>>a>>b>>k>>s;
        for(int i=0, c=1; i<n; i++, c++) {
            if(s[i]=='1') c=0;
            else if(c==b) c=0, A.push_back(i+1);
        }
        cout<<A.size()-a+1<<endl;
        FF(i,0,A.size()-a) cout<<A[i]<<" ";
    
        return 0;
    }
    View Code
  • 相关阅读:
    java源码--ArrayList
    java源码--AbstractList
    java中public protected friendly private作用域
    设置springmvc全局异常
    Java
    Java
    Java
    Java
    Java
    Java
  • 原文地址:https://www.cnblogs.com/sbfhy/p/6367415.html
Copyright © 2011-2022 走看看