可怜的蚁人进入量子领域后,黄蜂女被灭霸的一个响指带走,导致可怜的蚁人困在了量子领域,为了生存,他们开始建造自己家园。

蚁人为了方便在这里生存,他们建造了自己火车站。某车站有N个人上车,其中M对是情侣,当然其余的人都是单身。由于火车不是首发站,车上免不了座位已经被占用。但是对于情侣有如下条件:

1.上车后情侣需要坐在一起才能继续保持情侣身份(即座位相邻),如果他们没有坐在一起,他们将会分手不再保持情侣(有些恶劣)。

2.对于单身乘客,如果两个单身乘客坐在一起也可以变成情侣(仅限于本站上车的单身蚁人,且蚁人不存在男女之分,emmm)。

火车每排座位表:OO|OX (’O’表示座位空闲;’|’表示过道;’X’表示座位已经被占用,’X’的位置不确定)列车有k排座位。

当然,我们希望看到尽可能多的蚁人情侣出现在这个列车上。

输入第一行输入三个数字:N上车人数,M情侣对数,K车厢座位排数。(1<N,M,K<1000)

接下来K行每行是车站到达此站时每排的座位排布图

输出

如果火车可以承载车站的所有人,请计算出上车后情侣对数和单身人数。(情侣人数要尽可能多!!!)

如果火车无法承载车站的所有人,请输出’-1’表示无法承载车站的所有人。

样例输入 Copy

15 3 6
OO|XX
XO|XX
OX|OO
XX|OX
OO|XX
OX|XX

样例输出 Copy

-1

解析:

我们从题意得知我们是希望在车上得到最多的情侣数量并输出。首先你需要查找座位个数是否满足所有人上车,如果座位数不够则无法上车,输出“-1”即可。其次因为需要情侣数量最多,那么你可以想到只要计算车上的双人座位(即“OO“形式)的个数有多少个,然后跟乘车人数除以2进行比较即可。如果双人座位数量大于乘车人数的/2,则我们选择乘车人数的/2作为CP数量,否则我们选择双人座位数量作为CP数量,最会用总数减去(CP数量*2)即为单身数量。

AC代码:

#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
inline int read() {int x=,f=;char c=getchar();while(c!='-'&&(c<''||c>''))c=getchar();if(c=='-')f=-,c=getchar();while(c>=''&&c<='')x=x*+c-'',c=getchar();return f*x;}
typedef long long ll;
const int maxn = 1e5+;
char a[maxn][];
int main()
{
int n,m,k;
cin>>n>>m>>k;
for(int i=;i<k;i++){
scanf("%s",a[i]);
}
int sum=;
int ans=;
for(int i=;i<k;i++){
for(int j=;j<;j++){
if(a[i][j]=='O'){
ans++;
}
if(a[i][j]=='O'&&a[i][j+]=='O'){
sum++;
}
}
}
if(ans<n){
printf("-1\n");
}
else{
if(sum>=n/){
printf("%d %d\n",n/,n-n/*);
}
else{
printf("%d %d\n",sum,n-*sum);
}
}
return ;
}

蚁人cp数的更多相关文章

  1. linux之cp/scp命令+scp命令详解

    名称:cp 使用权限:所有使用者 使用方式: cp [options] source dest cp [options] source... directory 说明:将一个档案拷贝至另一档案,或将数 ...

  2. Linux cp (复制)命令简介

    \cp  -rf  source1  source2   source3   ....   directory cp (复制档案或目录) [root@linux ~]# cp [-adfilprsu] ...

  3. Linux2:vi、ls、cd、pwd、mkdir、rm、mv、cp、cat、tail

    前言 从本篇文章开始,每篇文章将写10个Linux命令,个人的写作想法是: 1.常用的Linux命令,那些生僻的.不常用的就不写了 2.从实际考虑,只列出每个命令常见的用法和参数选项,有兴趣了解进一步 ...

  4. Linux中cp和scp命令的使用方法

    Linux为我们提供了两个用于文件copy的命令,一个是cp,一个是scp,但是他们略有不同. cp --- 主要是用于在同一台电脑上,在不同的目录之间来回copy文件 scp --- 主要是在不同的 ...

  5. linux之cp/scp命令+scp命令详解(转)

    名称:cp 使用权限:所有使用者 使用方式: cp [options] source dest cp [options] source... directory 说明:将一个档案拷贝至另一档案,或将数 ...

  6. [Z] 计算机类会议期刊根据引用数排名

    一位cornell的教授做的计算机类期刊会议依据Microsoft Research引用数的排名 link:http://www.cs.cornell.edu/andru/csconf.html Th ...

  7. linux cp命令参数及用法详解

    cp (复制档案或目录)[root@linux ~]# cp [-adfilprsu] 来源档(source) 目的檔(destination)[root@linux ~]# cp [options] ...

  8. CP,SCP 命令(包括windows与linux用xshell互传)

    linux之cp/scp命令+scp命令详解 名称:cp 使用权限:所有使用者 使用方式: cp [options] source dest cp [options] source... direct ...

  9. shell 外部传入jmeter脚本线程数,rampUp时间,持续运行时间

    jmeter参数化部分参考上一篇 shell参数说明:$1线程数,$2:全部并发数rampup时间,$3:脚本持续运行时间,$4:每次脚本循环持续时间 $5:所以循环持续时间 #!/bin/bash ...

随机推荐

  1. K3/Cloud点按钮打开单据,列表,动态表单,简单账表和直接Sql报表示例

    BOS IDE中配置了个界面,拖了动态表单界面,加了5个测试按钮. 点击“打开单据”维护界面, 会跳转到一个新的主界面页签,[物料]新增 点击“打开列表”,会弹出[物料]列表界面 点击“打开动态表单” ...

  2. Jquery插件 之 zTree树加载

    原文链接:https://blog.csdn.net/jiaqu2177/article/details/80626730 zTree树加载 zTree 是一个依靠 jQuery 实现的多功能 “树插 ...

  3. AcWing 148. 合并果子

    #include <iostream> #include <algorithm> #include <queue> using namespace std; int ...

  4. _mysql_exceptions.OperationalError: (2013, 'Lost connection to MySQL server during query')

    最近写了一个定时脚本,每天凌晨跑,每次跑时间很长. 在测试这个脚本的时候,跑了一个小时,发生一个错误,脚本中断,错误如下: _mysql_exceptions.OperationalError: (2 ...

  5. 2.17NOIP模拟赛(by hzwer) T1 小奇挖矿

    [题目背景] 小奇要开采一些矿物,它驾驶着一台带有钻头(初始能力值 w)的飞船,按既定 路线依次飞过喵星系的 n 个星球. [问题描述] 星球分为 2 类:资源型和维修型. 1. 资源型:含矿物质量 ...

  6. 转:unittest的几种运行方式

    #unittest-test.py import unittestfrom demo import RunMainimport HtmlTestRunner class TestMethod(unit ...

  7. 计算机网络 - TCP_NODELAY 和 TCP_CORK, TCP_NOPUSH

    参考 https://www.cnblogs.com/biyeymyhjob/p/4670502.html https://stackoverflow.com/questions/3761276/wh ...

  8. 记录集导出到Excel方法

    记录集导出到Excel方法   Public Function ExportToExcel(RSrecord As ADODB.Recordset, Titles_Name)'============ ...

  9. [Vue源码]一起来学Vue双向绑定原理-数据劫持和发布订阅

    有一段时间没有更新技术博文了,因为这段时间埋下头来看Vue源码了.本文我们一起通过学习双向绑定原理来分析Vue源码.预计接下来会围绕Vue源码来整理一些文章,如下. 一起来学Vue双向绑定原理-数据劫 ...

  10. linux文件或文件夹常见操作,排查部署在linux上程序问题常用操作

    创建文件夹 mkdir [-p] DirName [ 在工作目录下,建立一个名为 A 新的子目录 : mkdir A 在工作目录下的 B目录中,建立一个名为 T 的子目录:   若 B 目录不存在,则 ...